From: Yun-Hao Chung <howardchung@xxxxxxxxxxxx> Hi manintainers, This series is to 1. Implement a few methods in core so that a plugin can have control of allowing / disallowing certain service connections. 2. Implement the AdminPolicy plugin. The plugin provides interfaces AdminPolicySet and AdminPolicyStatus. For each policy, users should set the value thorugh AdminPolicySet and query the current setting through AdminPolicyStatus. We separeted these two interfaces so that developers can assign different groups of users to these interfaces. Currently the only policy is ServiceAllowList, which make bluez only allow a list of service by specified their UUIDs, but the plugin is also expected to provide more controls over other bluez behaviors. Since the second part is a plugin, it might not be necessary to land in upstream tree. Thanks. Howard Chung (2): lib: add hash functions for bt_uuid_t audio: Remove Media1 interface when a2dp source disallowed Yun-Hao Chung (12): unit: add uuid unit tests core: add is_allowed property in btd_service core: add adapter and device allowed_uuid functions core: add device state and state callbacks plugins: add a new plugin for admin_policy plugins/admin_policy: add admin_policy adapter driver plugins/admin_policy: add ServiceAllowList method plugins/admin_policy: add ServiceAllowList property plugins/admin_policy: add device state callback plugins/admin_policy: add AffectedByPolicy property plugins/admin_policy: persist policy settings core: fix a possible crash when removing devices Makefile.plugins | 5 + bootstrap-configure | 1 + configure.ac | 4 + lib/uuid.c | 27 ++ lib/uuid.h | 3 + plugins/admin_policy.c | 599 +++++++++++++++++++++++++++++++++++++++++ profiles/audio/a2dp.c | 2 + profiles/audio/avrcp.c | 3 + src/adapter.c | 90 +++++++ src/adapter.h | 8 + src/device.c | 128 ++++++++- src/device.h | 15 ++ src/service.c | 33 +++ src/service.h | 2 + unit/test-uuid.c | 48 ++++ 15 files changed, 966 insertions(+), 2 deletions(-) create mode 100644 plugins/admin_policy.c -- 2.32.0.93.g670b81a890-goog