Commit Graph

400 Commits (debian)

Author SHA1 Message Date
Roger A. Light b2c0c3d573 Handle DISCONNECT with will. 7 years ago
Roger A. Light 3b6b6d5fa8 Test improvements
And some related fixes.
7 years ago
Roger A. Light c506c8335b Will delay tests and implementation. 7 years ago
Roger A. Light 5aabc171b0 Merge branch 'mqtt5' into develop 7 years ago
Roger A. Light c3c8c99f5d Fix dropping oversize messages for QoS>0. 7 years ago
Roger A. Light 1d17ced449 Broker configurable max_packet_size
Plus tests.
7 years ago
Roger A. Light b9b8e0ff2a Add client support for outgoing maximum packet size. 7 years ago
Roger A. Light 1877f8a326 Tests and implementation for maximum packet size.
This is for broker outgoing connack and publish packets only.
7 years ago
Roger A. Light 8db16591fa Test and fix for subscription identifiers not being updated.
Closes #1169. Thanks to Christoph Krey.
7 years ago
Roger A. Light 66c1e2ccf0 Add mosquitto_unsubscribe_multiple(), plus tests. 7 years ago
Roger A. Light c823073be6 v5 unsubscribe test, single topic. 7 years ago
Roger A. Light 1479c57e34 v5 report reason code=no sub when unsubscribing. 7 years ago
Roger A. Light 1ec0cea34a Fix missing reason_code on v5 UNSUBACK.
Closes #1167. Thanks to Christoph Krey.
7 years ago
Roger A. Light 5e8199323b Fix clients being disconnected when ACLs are in use.
This only affects the case where a client connects using a username, and
the anonymous ACL list is defined but specific user ACLs are not
defined.

Closes #1162. Thanks to quonb.
7 years ago
Roger A. Light f9f3fdbfe3 Fix pattern matching test. 7 years ago
Roger A. Light d5dfd575b3 Fix broker TLS tests. 7 years ago
Roger A. Light baa4642bd3 Generic ptest implementation. 7 years ago
Roger A. Light b4a94f5900 Fix some ssl tests. 7 years ago
Roger A. Light 950ad8d16f Speed up pattern matching test. 7 years ago
Roger A. Light 016ce7dca5 Simplify ptest implementation. 7 years ago
Roger A. Light e2f269bda8 Test duration printing on ptest. 7 years ago
Roger A. Light 084062c85e Merge branch 'fixes' into mqtt5 7 years ago
Roger A. Light bb914b985c Fix `mosquitto_topic_matches_sub()` rc with sub=="topic/#abc".
This now returns MOSQ_ERR_INVAL as expected.
7 years ago
Roger A. Light b6fb2c5824 Fix property write test after function changes. 7 years ago
Roger Light c40957a7d8 Fix and tests for CVE-2018-12546. 7 years ago
Roger A. Light d8505624d0 Fix and tests for security bug #541870. 7 years ago
Roger A. Light 36b5421c59 Fix and tests for security bug #543401. 7 years ago
Roger Light 5236295159 Handle mismatched handshakes properly.
For example, a QoS1 PUBLISH with QoS2 reply.
7 years ago
Roger A. Light 873ffce27a Send DISCONNECT on invalid topic alias, plus test. 7 years ago
Roger A. Light 219f47b07f Add test for multiple unsubscribe. 7 years ago
Roger A. Light 6b977fa198 Test and fixes for expiring retained messages. 7 years ago
Roger A. Light ca3782b38d Test and fixes for will message expiry interval. 7 years ago
Roger A. Light 6a59e92db8 Set remaining message expiry interval when republishing. 7 years ago
Roger A. Light 0a9885aea1 Rename "resv" in connack to "flags" to better match v5 spec. 7 years ago
Roger A. Light f9a17e2782 Add alias support to the broker. 7 years ago
Roger A. Light 1cc3e558ee Test for server keepalive. 7 years ago
Roger Light 8513af4da5 Tests and fixes for shortened DISCONNECT packets. 7 years ago
Roger Light 4b97a90ef9 Tests and fixes for truncated PUB* packets
For the cases where reason_code is 0, or properties are missing.
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 740a128769 Support PUBREC reason code >=0x80 as partial qos2 flow. 7 years ago
Roger Light 6119f83571 Add receive-maximum=1 test for client. 7 years ago
Roger A. Light aeba5b5d0d Fix and tests for client side receive-maximum. 7 years ago
Roger Light 9aec82b0e1 Finalise test proplists in the packet gen funcs.
This makes it easier to add part of a proplist in the test itself, and have the gen func add some more.
7 years ago
Roger Light 67c1d4453e Receive maximum support for clients. 7 years ago
Roger A. Light 6eefb45b44 Broker tests for Receive Maximum. 7 years ago
Roger A. Light 00c4fd137a More UTF-8 tests. 7 years ago
Roger A. Light c1baf21185 Add tests for subscription identifiers. 7 years ago
Roger A. Light 7c3666d593 Subscription identifier support. 7 years ago
Roger A. Light ef724e6d33 Add test for first packet not being CONNECT. 7 years ago
Roger A. Light dab6452a1d Add test for duplicate CONNECT. 7 years ago
Roger A. Light fcf4cd0b27 Merge branch 'master' into mqtt5 7 years ago
Roger A. Light 31e6dbbe74 Tests and fixes for subscription options. 7 years ago
Roger A. Light 94fdc9cb44 Disallow UTF-8 control characters. 7 years ago
Roger A. Light bc1349c0d7 Tests for user facing mosquitto_string_to_property_info function. 7 years ago
Roger A. Light 8b368aeb6b Fix memory leaks in tests. 7 years ago
Roger A. Light 699e5c762f Tests for user facing read functions. 7 years ago
Roger A. Light 679a9a54a5 Tests for user facing property add functions. 7 years ago
Roger A. Light 1e6117bcf5 Fix duplicate string property tests. 7 years ago
Roger A. Light 4fe75b1af0 Make user functions for reading properties easier to use. 7 years ago
Roger A. Light 608b8d33e7 Remove no longer used file. 7 years ago
Roger A. Light 9896e61727 Test and small fix for response-topic and correlation-data props. 7 years ago
Roger A. Light 6ef2c79e9a Add max_keepalive, for limiting keepalives of MQTT v5 clients. 7 years ago
Roger A. Light fda66e8311 Add broker test for assigned client id. 7 years ago
Roger A. Light f01042fb97 Simplify test makefiles. 7 years ago
Roger A. Light 085fdf3593 Add tests for Content Type property sending. 7 years ago
Roger A. Light d5108956bf Process session-expiry-interval on CONNECT and DISCONNECT.
Add test to check for invalid values.
7 years ago
Roger A. Light 34e7da426c Use test helper for importing modules. 7 years ago
Roger A. Light c31aae25a8 Fix v5 tests with no CONNECT properties. 7 years ago
Roger A. Light 3647dc357a Test for retain_available=false. 7 years ago
Roger A. Light 0123ff1efe Rename *_with_properties() -> *_v5(). 7 years ago
Roger Light 17d213b79a Declare lack of support for shared subs and sub IDs. 7 years ago
Roger A. Light 29cf4266d9 Remove old tests from ptest.py. 7 years ago
Roger A. Light bb745b3308 Client prop test for format-payload-indicator. 7 years ago
Roger A. Light 22f284671d Request-response test with/without correlation data 7 years ago
Roger A. Light 353990e856 Tidy up test directory. 7 years ago
Roger A. Light d7bcec4878 Don't disconnect clients when a plugin denies SUBSCRIBE.
Thanks to Ibrahim Koujar.

Bug: https://github.com/eclipse/mosquitto/issues/1016
7 years ago
Roger A. Light c26892244c Test x509 generation script requires no interaction now. 7 years ago
Roger A. Light f77c1ca91b private struct mqtt5__property -> public mosquitto_property. 7 years ago
Roger A. Light 12cba75c73 Client support for adding properties. 7 years ago
Roger A. Light 636e813d1c Load of constant renames ahead of making mqtt_protocol.h public. 7 years ago
Roger A. Light 9eebcf6704 Rename property__free_all->mosquitto_property_free_all
Make public function.
7 years ago
Roger A. Light 12fa336140 Handle some incoming PUBLISH properties.
PAYLOAD_FORMAT_INDICATOR, CORRELATION_DATA, USER_PROPERTY, CONTENT_TYPE
are now all passed on to subscribing clients from an incoming PUBLISH
only (not from Wills). The other PUBLISH properties are silently
dropped.
7 years ago
Roger A. Light 6996fd450a Simple pub/sub/unsub tests for v5. 7 years ago
Roger A. Light 52c25fa899 Simple connect test for v5. 7 years ago
Roger A. Light 723d9c2782 Check whether properties are on the correct commands. 7 years ago
Roger A. Light 42896112a1 Pub/sub topic checking tests. 7 years ago
Roger A. Light 1e9e552034 Property write bad identifier test. 7 years ago
Roger A. Light 40ed672ecf Fix topic matching tests and function. 7 years ago
Roger A. Light 77099bb58c Add property write tests. 7 years ago
Roger A. Light a7fff2ad2e Topic test improvements. 7 years ago
Roger A. Light 6609bbac10 Move topic matching tests to unit tests. Needs improving. 7 years ago
Roger A. Light c0ff424082 Add property__get_length_all() and property__get_length().
For getting the number of bytes needed for writing a property list.
7 years ago
Roger A. Light a17dcb4e8f Property string pair, varint and more complicated packet tests. 7 years ago
Roger A. Light e1d0bde0b1 Binary property read tests. 7 years ago
Roger A. Light 194d013279 Finish property string read tests. 7 years ago
Roger A. Light bc1caedc32 Some property string read tests. 7 years ago
Roger A. Light f59526a014 Property read in16 tests. 7 years ago
Roger A. Light e14b613a02 Property read int32 tests. 7 years ago
Roger A. Light f4b2838574 Property reading, and tests for byte properties. 7 years ago
Roger A. Light 34c8c28e9d Remove old UTF-8 tests. 7 years ago
Roger A. Light cdb22edb1c Split malformed UTF-8 validation tests to ensure better coverage. 7 years ago
Roger A. Light 1635dd3883 Multiple bytes read tests. 7 years ago
Roger A. Light c9d9ad8e72 UTF-8 validation tests and fixes. 7 years ago
Roger A. Light 8c7220d7a5 UTF-8 String write tests. 7 years ago
Roger A. Light c124b07929 Four Byte Integer write test. 7 years ago
Roger A. Light e701608e71 Two Byte Integer write test. 7 years ago
Roger A. Light eec3220622 Byte write test. 7 years ago
Roger A. Light 72131c84ce Binary data read functions and tests. 7 years ago
Roger A. Light 99e324e860 Make test strings unsigned. 7 years ago
Roger A. Light ed06255847 Rename to _read so _write can be separate. 7 years ago
Roger A. Light debf7493ad UTF-8 validation tests and fixes. 7 years ago
Roger A. Light 0fad0bd025 UTF-8 String read tests. 7 years ago
Roger A. Light d532253f10 Byte read tests. 7 years ago
Roger A. Light d157e5c41e Four Byte Integer read tests. 7 years ago
Roger A. Light ff67672a2c Two Byte Integer read tests. 7 years ago
Roger A. Light b6b8da1fa6 Variable Byte Integer reading tests. 7 years ago
Roger A. Light 9df05e93c0 Add test for $test publishing bug. 7 years ago
Roger A. Light ba175e581e Update expired test certs. 7 years ago
Roger A. Light f6f509031a Add missing test. 7 years ago
Roger A. Light 11395f9852 Fix accessor functions for username and client id when used in plugin auth check. 7 years ago
Roger A. Light 6a75eb377b Add test for issue in #828.
Signed-off-by: Roger A. Light <roger@atchoo.org>
7 years ago
Roger A. Light 7c496153a9 Add test for issue 505. 7 years ago
Roger A. Light 50abaedaff Add new test to parallel test script.
Signed-off-by: Roger A. Light <roger@atchoo.org>
7 years ago
Wolfgang Hottgenroth 50b0c0b1f1 Add test which currently fails.
Signed-off-by: Wolfgang Hottgenroth <wolfgang.hottgenroth@icloud.com>
7 years ago
Wolfgang Hottgenroth 9912418f78 Change test scripts according to hints in #507 (replace localhost by 127.0.0.1)
Signed-off-by: Wolfgang Hottgenroth <wolfgang.hottgenroth@icloud.com>
7 years ago
Roger A. Light f40ccd195d Disable queued bytes test pending a fix.
Signed-off-by: Roger A. Light <roger@atchoo.org>
7 years ago
Roger A. Light 9fd55c0d44 Simplify broker tests with helper function. 7 years ago
Roger A. Light 40e2eab4c4 Disable queued bytes test temporarily. 7 years ago
Roger A. Light cd271041f5 Add test for issue #874. 7 years ago
Roger A. Light d3b3ba86f1 Updated crude performance test. 8 years ago
Roger A. Light ba71bc3b32 Experimental parallel testing for library. 8 years ago
Roger A. Light 5d2f5c25d7 Experimental parallel testing for broker. 8 years ago
Roger A. Light 51aa7b7121 Update tests as a step towards parallelism. 8 years ago
Roger A. Light 8cb3a29fd7 Fix a variety of protocol handling errors.
Closes #704
Closes #705
Closes #730
Closes #732

Thanks to Umberto Boscolo.
8 years ago
Roger A. Light 7615ae24ce Handle CONNECT protocol errors.
Don't allow username when no username flag set.
Don't allow password when no password flag set.

Closes #730. Closes #731.

Thanks to Umberto Boscolo.
8 years ago
Roger A. Light 729a09310a Add UTF-8 tests, plus some validation fixes.
Closes #693.
8 years ago
Roger A. Light 24d68b5af8 Remove support for openssl 1.0.0 and 1.0.1.
These are no longer supported by openssl.
8 years ago
Roger A. Light 8676cc0359 Replace mentions of deprecated 'c_rehash' with 'openssl rehash'. 8 years ago
Roger A. Light 40e6a75709 Use c99 as compiling standard.
Closes: #765.
8 years ago
Roger A. Light c3314fd593 Add missing tests (Closes #748). 8 years ago
Roger A. Light dbdd113c86 Merge branch 'develop' of github.com:eclipse/mosquitto into develop 8 years ago
Roger A. Light a979ed6535 Per listener plugins. 8 years ago
Pierre Fersing 6dd63d3000 Add more test for auth-plugin
Tests for:

* MOSQ_ACL_SUBSCRIBE acl check
* MOSQ_ERR_PLUGIN_DEFER with 2 auth-plugin
* Binary compatibility with v2 of auth-plugin

Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
8 years ago
Roger A. Light 81cb7ab547 Merge branch 'fixes' into develop 8 years ago
Roger A. Light b02c1a41bb [670] Fix topic matching of foo/bar against foo/+/#
Thanks to mrdis.

Bug: https://github.com/eclipse/mosquitto/issues/670
8 years ago
Tatsuzo Osawa 024fd400d4 Fix Unsubscribe with No Topic
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
8 years ago
Pierre Fersing 7775924bae [534]Fix upgrade_outgoing_qos for retained message 8 years ago
Pierre Fersing a47c1a821b Add test for bridge topic name mapping
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
8 years ago
Roger A. Light d2118aeb17 [636] Don't run TLS-PSK tests when disabled at compile time.
Thanks to 'TBK'.

Bug: https://github.com/eclipse/mosquitto/issues/636
8 years ago
Tatsuzo Osawa 355bb37ab9 Fix 08-ssl-bridge.conf to dial localhost by ipv4.
Signed-off-by: Tatsuzo Osawa <tatsuzo.osawa@gmail.com>
8 years ago
Roger A. Light b11855821e Update UTF-8 validation checks. 8 years ago
Roger A. Light a480a9daf9 Fix 08-ssl-bridge.py test when using async dns lookups.
Thanks to Tatsuzo Osawa.

Bug: https://github.com/eclipse/mosquitto/issues/507
8 years ago
Pierre Fersing 31639fec65 Add test for persistent subscription (#501)
Signed-off-by: Pierre Fersing <pierre.fersing@bleemeo.com>
8 years ago
Roger A. Light e74203de2c Merge branch 'master' into develop 8 years ago
Roger A. Light 96db6d6644 Fix CONNECT check for reserved=0, as per MQTT v3.1.1 check MQTT-3.1.2-3. 8 years ago
Roger A. Light 41a1b51c31 Print warning, skip test if paho-mqtt not available. 9 years ago
Karl Palsson c6aac741c2 broker: support byte based queueing
Limiting queued message depth purely based on message count is hard to
control for memory constrained devices.  The size of messages can vary
wildly, from a few bytes, to a few kilobytes.  Support a new
max_queued_bytes option, and drop packets when the first limit is
reached.  Option defaults to 0 (disabled) by default.
Support also a max_inflight_bytes variable, with similar behaviour.

Fixes (partof) https://github.com/eclipse/mosquitto/issues/100

This pulls up some helper routines for calculating whether to allow
inflight or queuing, resolving some inconsistences in connection
resumption.

Signed-off-by: Karl Palsson <karlp@etactica.com>
9 years ago
Karl Palsson 9d00eab64c tests: support generating longer publish packets
Remaining length for publish packets wasn't being handled completely.

Signed-off-by: Karl Palsson <karlp@etactica.com>
9 years ago
Roger A. Light 883af8af53 Better subtree searching. 9 years ago
Roger A. Light e4db6a760f Backwards compatibility for auth plugins. 9 years ago
Roger A. Light 025e56fd4c New mosquitto_auth_psk_key_get() 9 years ago
Roger A. Light b3df015ea7 New mosquitto_unpwd_check(). 9 years ago
Roger A. Light 63f46a999f Add username accessor. 9 years ago
Roger A. Light 6a6efb6143 Fix ssl bridge test. 9 years ago
Roger A. Light 2b2279363b Bridge defaults to mqtt3.1.1 as per documentation. 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 30686f2dc9 Fix mosquitto_topic_matches_sub(). 9 years ago
Roger A. Light a187b3f5fa [57] Handle PUB* with unknown message id gracefully.
Allows message flow to complete where e.g. the broker didn't persist a
partially complete flow.

Thanks to jsaak jsaak and Hiram van Paassen.

Bug: https://github.com/eclipse/mosquitto/issues/57
9 years ago
Roger A. Light 4a67fcebc5 More codacy test fixes. 10 years ago
Roger A. Light 07b21f0fe5 Fix minor test problems highlighted by codacy.com. 10 years ago
Roger A. Light 37dceb38f9 Fix some defects discovered by coverity. 10 years ago
Roger A. Light 6c8c649ac2 More test fixes. 10 years ago
Roger A. Light 8906d67ad4 Default to MQTT v3.1.1 in tests. 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
Roger A. Light cdbe62c2bb Outgoing messages with QoS>0 are no longer retried after a timeout.
This change in behaviour can be justified by considering when the
timeout may have occurred.

* If a connection is unreliable and has dropped, but without one end
  noticing, the messages will be retried on reconnection. Sending
  additional PUBLISH or PUBREL would not have changed anything.

* If a client is overloaded/unable to respond/has a slow connection then
  sending additional PUBLISH or PUBREL would not help the client catch
  up. Once the backlog has cleared the client will respond. If it is not
  able to catch up, sending additional duplicates would not help either.
11 years ago
Roger A. Light 4195fde70b Last raft of renames for the moment. 11 years ago
Roger A. Light 756a6cd281 More test fixes. 11 years ago
Roger A. Light ccb3ea86be Test fixes. 11 years ago
Roger A. Light ff038b312a Disable fake ca test. 11 years ago
Roger A. Light 570be5e417 [458353] Fix typo in test.
Thanks to Michael Laing.

Bug:  https://bugs.eclipse.org/bugs/show_bug.cgi?id=458353
11 years ago
Roger A. Light 4c72b2dd45 [457373] Fix tests when compiled with WITH_TLS=no.
Bug: https://bugs.eclipse.org/bugs/show_bug.cgi?id=457373
11 years ago
Roger A. Light 5b6f6976c7 Fix use of "dup" with pubrel, subscribe, unsubscribe.
Thanks to Paolo Patierno.
11 years ago
Roger A. Light 94cd34c86d Add executable permissions. 11 years ago
Roger A. Light 070d783c9f Merge 1.3.2-1.3.5 into 1.4. 11 years ago
Roger A. Light b612c6bf22 Fix test. 11 years ago
Roger A. Light 405b7f0aab Don't free here, leads to potential double free. 11 years ago
Roger A. Light cabcada849 Test fixes. 11 years ago
Roger A. Light fd9496433c Configure client tests for valgrind. 11 years ago
Roger A. Light d75903b0ae Fix reconnect support for websockets. 11 years ago
Roger A. Light 39674a443e Need bigger delay for valgrind. 11 years ago
Roger A. Light 15efd2d072 Various memory fixes. 11 years ago
Roger A. Light 6427105bf6 Tests can now use valgrind. 11 years ago
Roger A. Light 717e0addae Use default tls version in tests where possible. 11 years ago
Roger A. Light 2e221538ce Test no longer needed. 11 years ago
Roger A. Light 87579e0cac Remove STRICT_PROTOCOL #ifdefs. 11 years ago
Roger A. Light 5146779c44 Add client test for encrypted x509 keys. 12 years ago
Roger Light 9ff56eefd0 Fix topic matching edge case.
Thanks to Tobias Assarsson.
12 years ago
Roger Light 0364bd1be7 Initial contribution. 12 years ago