Wykres commitów

1361 Commity (db72c13f2f798d072103d31468c93e328ec7fdb8)

Autor SHA1 Wiadomość Data
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 49566b6f53
Merge pull request #254 from ajmirsky/issues/245
broker shouldn't allow clients to publish to '$' topics
2025-07-07 11:48:14 -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 0704169929
Merge branch '0.11.2-rc' into block_sys_topics 2025-07-04 17:16:49 -04:00
Andrew Mirsky 701b21272c
Merge pull request #249 from ajmirsky/plugin_config_casting
improve static type checking for plugin's `Config` class

( no functionality change, mypy checking improvement and comments only )
2025-07-04 17:10:31 -04:00
Andrew Mirsky 3a82dd9c89
Merge pull request #253 from ajmirsky/docker_resource_limits
updating docker compose with resource limits
2025-07-04 17:08:05 -04:00
Andrew Mirsky 2684ffa7b0
adding comments to plugin manager code 2025-07-04 17:07:17 -04:00
Andrew Mirsky 02c4116bfe
add docker container resource limits in compose example 2025-07-04 16:40:44 -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 ef73db9262
keep BrokerSysPlugin default consistent between default_broker config and plugin 2025-07-04 16:08:24 -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 a571368d34
Merge remote-tracking branch 'source/0.11.2-rc' into plugin_config_casting 2025-07-03 11:47:37 -04:00
Andrew Mirsky 6f724b9a23
Merge pull request #248 from ajmirsky/issues/27
improvements in retaining messages
2025-07-03 11:47:00 -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 f5320b9b88
linting corrections 2025-07-03 11:32:54 -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 43ebad545f
Merge pull request #241 from ajmirsky/add_session_to_client_events
pass client session info to event callbacks
2025-07-03 11:19:32 -04:00
Andrew Mirsky 557c60fc8f
to improve mypy static checking, add instance variable to BasePlugin for the plugin's configuration, cast to the appropriate type 2025-07-03 11:13:08 -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 9f1c3d04c7
even though only certain not connected sessions need to retain messages, none of the non connected sessions need to receive a broadcast message 2025-07-02 16:24:57 -04:00
Andrew Mirsky 71d6e141a5
Merge pull request #239 from ajmirsky/psutils_dockerfile_update
dockerfile build update to support psutils
2025-07-02 14:16:00 -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 b33505e5d8
remove dependency on external broker 2025-07-02 13:54:38 -04:00
Andrew Mirsky fa1894b837
remove dependency on external broker 2025-07-02 13:54:26 -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 95183865b7
use MQTT terminology 2025-07-02 13:25:31 -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 6e27513192
lint fixes 2025-07-02 12:15:33 -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 4e9a43cdcf
Merge pull request #240 from ajmirsky/migrate_existing_plugins
config-file based plugin loading
2025-06-30 14:01:37 -04:00
Andrew Mirsky 4b99a17c8e
Merge branch 'migrate_existing_plugins' into require_at_least_one_auth 2025-06-30 12:18:10 -04:00
Andrew Mirsky 9368b42958
fixing lint issue 2025-06-29 19:12:59 -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 31bd1638e7
update event callback signatures in documentation 2025-06-29 17:14:53 -04:00
Andrew Mirsky f80939ffb8
client connect/disconnect event callbacks now receive the client 'Session' 2025-06-29 12:07:43 -04:00
Andrew Mirsky 92141d9a54
updating broker and client config documentation. updating description on how to create a custom plugin. 2025-06-28 23:02: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