* Yakifo/amqtt#261 : plugin for authenticating a user with ldap.
* adding openldap dependencies
* updating ldap custom schema to include three ACL attributes, retrieve the correct topic list and check if topic is allowed
* states, calculations and model for shadow plugin
* adding tests for shadow states and correcting use cases
* adding get/update message broadcast, adding json schema tests for shadow messages being received
* adding shadow plugin documentation
* plugin for authenticating clients based on certificates
* create ca, server and device keys and certificates. certificate auth plugin verification (non linted)
* adding documentation for the various cli scripts and the CertificateAuthPlugin
* post_init was not running on client config. cafile, keyfile, certfile are part of the connection section
* 'broker' section of client config can be empty, but connection will either be provided by the user or the default
* rebuild of the persistence plugin to handle storing / restoring sessions
* adding event for broker when a message is being retained
* adding retained message logic to persistence plugin and test cases
* updated documentation
* moving DataClassListJson field to common location for reuse
* Yakifo/amqtt#247 : add configuration that specifies how long sessions should be retained. also, remove sessions where we're not retaining messages (aka anonymous or clean sessions)
* Yakifo/amqtt#259 : db schema (orm) and authentication of users plugin, initial
* expanding to include a simple admin interface
* create directory into module
* user management ui react app
* including research associated with session auth for the admin ui
* updating to handle username and acl datagrid
* multi cli optional approaches
* basic cli functions for manipulating users
* Yakifo/amqtt#259 : lint and type cleanup
* Yakifo/amqtt#259 : added tests for AuthDBPlugin as well as the UserManager. includes a command line interface for listing, adding, removing and updating users. added documentation.
* Yakifo/amqtt#259 : need to install the 'contrib' extra package for the workflows
* fixing class name change
* fixed incorrect install of optional library for ci. auth db test wasn't shutting down broker, causing subsequent tests to fail"
* test case not cleaning up after itself
* adding topic authentication to database plugin
* renamed command line script
* moved auth db ui to a different branch. added a temp directory to the temp file used for sqlite tests
* more renaming to leave space to expand to topic management
* updating dependencies
* renaming scripts
* adding topic filter and test cases
* Yakifo/amqtt#259
separate plugin for DB topic-based checking. additional topic auth testing
Yakifo/amqtt#259
updating uv.lock
fixing lint and typing errors
handling strenum for 3.10
updating documentation for topic and user auth plugins
update user and topic manager scripts, add tests and fix bugs
add tests for the user and topic mgr cli
client connection timeout should yield a connecterror
* adding 'receive' action, added along with the http plugin
* initial structure of http acl
* progress
* Yakifo/amqtt#258 (in progress): a plugin which requests authentication via http
* Yakifo/amqtt#258 (in progress): a plugin which requests topic acl via http
* renaming plugin
* StrEnum support for python 3.10
* when using python 3.10, 'localhost' resolves to the wrong ip address, so we excplicitly use the loopback address. our polyfill for StrEnum in python 3.10, needs to get the value instead of its implicit converstion in other versions
* add documentation, expand functionality to handle case including test cases
* refactoring test fixtures for HttpAuthAclPlugin
* further refactoring of test cases to eliminate duplicate code
* add comments to test code
* rename to more accurately describe user authentication and topic authorization
* config option name change
* cleaning up documentation on the Topic ACL Plugin
* simplificiation based on feedback
* updated doc
* incorporated feedback
* wip for structured configs
* updating docs to pull descriptions from structured configs
* display 'default_factory' in a field as the actual value
* finalizing the dataclass style, format and content of the documentation for the BrokerConfig.
* updated documentation for broker and client config including finalizing the griffe extension to get the output of the default_factory's of dataclasses
* 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
* type correction and linting fixes
* updates to support python 3.10
* fixes to handle wonky yaml files
* removing non-modified template files
* adding documentation on the custom griffe extension to render the 'default_factory' for dataclass's 'field'
* refining documentation
* removing duplicate logger