Wykres commitów

330 Commity (config_dataclasses)

Autor SHA1 Wiadomość Data
Andrew Mirsky 0aabfa7e78
updates to support python 3.10 2025-07-13 10:45:23 -04:00
Andrew Mirsky c8e97bd167
Merge branch '0.11.3-rc.1' into config_dataclasses 2025-07-13 10:41:48 -04:00
Andrew Mirsky 81866d0238
all test cases working. most fixes were to make the dataclass config's backwards compatible with how the rest of the code was accessing config dictionaries 2025-07-12 19:53:15 -04:00
Andrew Mirsky 1be3a7c848
updating docs to pull descriptions from structured configs 2025-07-11 22:24:27 -04:00
Andrew Mirsky 1ec555ca23
wip for structured configs 2025-07-11 11:52:18 -04:00
Andrew Mirsky 98778416dc
structure needed as the basis for several 0.11.3 improvements 2025-07-10 11:23:56 -04:00
Andrew Mirsky 57597dfea4
Merge pull request #252 from ajmirsky/plugin_config_error_case_checking
updated samples; plugin config consistency (yaml and python dict)
2025-07-07 12:18:36 -04:00
Andrew Mirsky 8022e01bb0
Merge pull request #251 from ajmirsky/increased_test_coverage
publishing to a topic with `*` is allowed, while `#` and `+` are not
2025-07-07 12:07:11 -04:00
Andrew Mirsky d41a6f5205
fixes #245 : broker shouldn't allow clients to publish to '$' topics 2025-07-04 21:36:29 -04:00
Andrew Mirsky 6a45eeb533
update sample plugins to use config-file-based plugin loading. FileAuthPlugin now accepts string or pathlib.Path 2025-07-04 16:35:46 -04:00
Andrew Mirsky 1971af26a4
match yaml 'plugins' format as dictionary with python dictionary format; allow for list as well as dictionary, in case that format slips in 2025-07-04 16:05:55 -04:00
Andrew Mirsky 9232c87202
adding tests to verify $ topic subscription rules 2025-07-04 15:57:08 -04:00
Andrew Mirsky 571434ed04
fixing test comments 2025-07-03 16:10:47 -04:00
Andrew Mirsky b2ef44dce2
Merge branch '0.11.2-rc' into increased_test_coverage 2025-07-03 14:32:45 -04:00
Andrew Mirsky a2e5a67059
resolves Yakifo/amqtt#250 : * was being blocked as a valid topic character in publish/receive, even though the invalid topic wildcard characters are '#' and '+'. also, add test coverage for error cases when creating different packet types. 2025-07-03 14:32:13 -04:00
Andrew Mirsky 38b2145234
adding tests for failure cases for different connect packet properties 2025-07-03 12:05:05 -04:00
Andrew Mirsky 7bbf2990a2
fixing issue with python 3.10's handling of websocket states 2025-07-03 11:43:16 -04:00
Andrew Mirsky d78c184f86
Merge remote-tracking branch 'source/0.11.2-rc' into issues/27 2025-07-03 11:36:44 -04:00
Andrew Mirsky 6b606f04d3
Merge pull request #244 from ajmirsky/require_at_least_one_auth
Require at least one auth
2025-07-03 11:21:22 -04:00
Andrew Mirsky 3d493b88ef
Merge branch '0.11.2-rc' into add_session_to_client_events 2025-07-02 19:05:36 -04:00
Andrew Mirsky d0d875ca30
python 3.10 differentiates between asyncio.TimeoutError and builtin TimeoutError 2025-07-02 14:13:02 -04:00
Andrew Mirsky 51d8c838f7
client reconnecting too quickly causing connection failure 2025-07-02 14:01:53 -04:00
Andrew Mirsky e009b4b0da
remove dependency on external broker 2025-07-02 13:52:05 -04:00
Andrew Mirsky 4700f49d96
remove dependency on external broker 2025-07-02 13:49:16 -04:00
Andrew Mirsky 03bf1c34d9
provide plugin manager context so that it identifies auth and topic check plugins correctly 2025-07-02 12:24:41 -04:00
Andrew Mirsky d4d5e1c670
messages for reconnected sessions where clean session is false, need to send retained topic messages 2025-07-02 12:03:14 -04:00
Andrew Mirsky 341c6c1732
additional test cases for message retention for retain flag and disconnected state 2025-07-02 08:09:31 -04:00
Andrew Mirsky 2ceb2ae43b
resolves Yakifo/amqtt#27 Yakifo/amqtt#246 Yakifo/amqtt#123: only retain messages for clients which specify clean session = 1 and messages are QoS 1 & 2. Also, clients which are completely anonymous, specifying no username, have no expectation of message retention. 2025-07-01 22:00:18 -04:00
Andrew Mirsky ee7250c720
fixes Yakifo/amqtt#187 : explicitly declaring auth plugins as an empty list (entry points configuration style) or not including a BaseAuthPlugin in loaded plugins, still allowed clients to connect to broker. security risk as explicit omission (former) or inadvertent omission (latter) might allow anonymous connections 2025-06-30 14:08:01 -04:00
Andrew Mirsky b5c9234bf7
maintain legacy functionality of entrypoint-based configs which have 'auth' or 'topic-check' 2025-06-29 19:10:55 -04:00
Andrew Mirsky ecdfd0a464
fix missing auth plugin 2025-06-29 18:29:48 -04:00
Andrew Mirsky 043b6ac881
check for client connect/disconnect event needed change 2025-06-29 17:47:02 -04:00
Andrew Mirsky a8e1692631
updating existing plugins to use new plugin configuraiton format. adding deprecation warnings. updating existing tests and adding additional cases to check that both old and new config formats work correctly 2025-06-27 23:08:09 -04:00
Andrew Mirsky 2485351600
Merge branch 'alt_plugin_config' into migrate_existing_plugins 2025-06-27 14:46:24 -04:00
Andrew Mirsky fb0404321d
Merge branch 'main' into alt_plugin_config 2025-06-27 13:59:39 -04:00
Andrew Mirsky 82c59cff9a
Merge branch '0.11.1-rc' into refine_sample_tests 2025-06-26 13:19:37 -04:00
Andrew Mirsky 1608edff91
add setting for connection timeout 2025-06-26 13:00:40 -04:00
Andrew Mirsky e44321f179
additional clean up of samples and validation 2025-06-26 12:37:38 -04:00
Andrew Mirsky bb76dbeec9
fixing config parameters for MQTTClient and updating docs to match. refining sample scripts to rely less on accessing external broker for successful completion 2025-06-25 22:24:14 -04:00
Andrew Mirsky 4c21339f7a
Merge pull request #234 from ajmirsky/issues/232
resolves Yakifo/amqtt#232 : adding system metrics about the broker
2025-06-25 20:10:02 -04:00
Andrew Mirsky 0973c63a34
Merge pull request #227 from ajmirsky/issues/225
update sample files
2025-06-25 19:11:58 -04:00
Andrew Mirsky 4ee3ece28b
fixes Yakifo/amqtt#232 : adding system metrics about the broker to the 2025-06-25 17:56:53 -04:00
Andrew Mirsky c86e9f7dc4
updating broker sys plugin to use new plugin load and config 2025-06-25 14:48:39 -04:00
Andrew Mirsky ea59956458
resolves Yakifo/amqtt#196 : adds alternative, non-breaking mechanism to identify and config plugins directly within in the broker (and client) config files 2025-06-18 12:54:21 -04:00
Andrew Mirsky e0cb182957
broker_simple.py has different exit messages depending on python version 2025-06-17 18:32:35 -04:00
Andrew Mirsky 9ba7c8019b
test case fix and show debug message on failure 2025-06-17 18:22:32 -04:00
Andrew Mirsky 29e5a74dbc
fixes Yakifo/amqtt#225 : updating all samples, adding test coverage for samples. python 3.10 needs to explicitly catch asyncio.TimeoutError. correct 'topic-check' plugin list 2025-06-17 17:03:40 -04:00
Andrew Mirsky b7ccc458e9
moving base classes for auth and topic plugins into common file 2025-06-17 12:53:37 -04:00
Andrew Mirsky f55d7feab8
resolving type-hinting conflicts 2025-06-17 12:48:31 -04:00
Andrew Mirsky 8068dc85e3
Merge branch 'main' into alt_plugin_config 2025-06-17 12:01:18 -04:00