From: Luiz Augusto von Dentz <[email protected]>
CCC shall always have both Read and Write permissions set in addition to
what application set.
Fixes: https://github.com/bluez/bluez/issues/399
---
src/gatt-database.c | 8 +++++++-
1 file changed, 7 insertions(+), 1 deletion(-)
diff --git a/src/gatt-database.c b/src/gatt-database.c
index 89a3dc47560b..a212dfc4e694 100644
--- a/src/gatt-database.c
+++ b/src/gatt-database.c
@@ -1238,7 +1238,8 @@ static void populate_gatt_service(struct btd_gatt_database *database)
NULL, NULL, database);
database->svc_chngd_ccc = service_add_ccc(service, database, NULL, NULL,
- 0, NULL);
+ BT_ATT_PERM_READ |
+ BT_ATT_PERM_WRITE, NULL);
bt_uuid16_create(&uuid, GATT_CHARAC_CLI_FEAT);
database->cli_feat = gatt_db_service_add_characteristic(service,
@@ -1726,8 +1727,10 @@ static bool parse_chrc_flags(DBusMessageIter *array, uint8_t *props,
*perm |= BT_ATT_PERM_WRITE;
} else if (!strcmp("notify", flag)) {
*props |= BT_GATT_CHRC_PROP_NOTIFY;
+ *ccc_perm |= BT_ATT_PERM_WRITE;
} else if (!strcmp("indicate", flag)) {
*props |= BT_GATT_CHRC_PROP_INDICATE;
+ *ccc_perm |= BT_ATT_PERM_WRITE;
} else if (!strcmp("authenticated-signed-writes", flag)) {
*props |= BT_GATT_CHRC_PROP_AUTH;
*perm |= BT_ATT_PERM_WRITE;
@@ -2896,6 +2899,9 @@ static bool database_add_ccc(struct external_service *service,
!(chrc->props & BT_GATT_CHRC_PROP_INDICATE))
return true;
+ /* Always set read/write permissions */
+ chrc->ccc_perm |= BT_ATT_PERM_WRITE | BT_ATT_PERM_READ;
+
chrc->ccc = service_add_ccc(service->attrib, service->app->database,
ccc_write_cb, chrc, chrc->ccc_perm, NULL);
if (!chrc->ccc) {
--
2.37.3
This is automated email and please do not reply to this email!
Dear submitter,
Thank you for submitting the patches to the linux bluetooth mailing list.
This is a CI test results with your patch series:
PW Link:https://patchwork.kernel.org/project/bluetooth/list/?series=679174
---Test result---
Test Summary:
CheckPatch PASS 3.42 seconds
GitLint PASS 2.26 seconds
Prep - Setup ELL PASS 26.17 seconds
Build - Prep PASS 0.68 seconds
Build - Configure PASS 8.15 seconds
Build - Make PASS 740.85 seconds
Make Check PASS 10.95 seconds
Make Check w/Valgrind PASS 287.39 seconds
Make Distcheck PASS 237.16 seconds
Build w/ext ELL - Configure PASS 8.19 seconds
Build w/ext ELL - Make PASS 83.30 seconds
Incremental Build w/ patches PASS 294.92 seconds
Scan Build WARNING 509.27 seconds
Details
##############################
Test: Scan Build - WARNING
Desc: Run Scan Build with patches
Output:
*****************************************************************************
The bugs reported by the scan-build may or may not be caused by your patches.
Please check the list and fix the bugs if they are caused by your patch.
*****************************************************************************
src/gatt-database.c:1138:10: warning: Value stored to 'bits' during its initialization is never read
uint8_t bits[] = { BT_GATT_CHRC_CLI_FEAT_ROBUST_CACHING,
^~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gatt-database.c:3541:14: warning: Value stored to 'iface' during its initialization is never read
const char *iface = g_dbus_proxy_get_interface(proxy);
^~~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
src/gatt-database.c:3542:14: warning: Value stored to 'path' during its initialization is never read
const char *path = g_dbus_proxy_get_path(proxy);
^~~~ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~
3 warnings generated.
---
Regards,
Linux Bluetooth
Hello:
This series was applied to bluetooth/bluez.git (master)
by Luiz Augusto von Dentz <[email protected]>:
On Wed, 21 Sep 2022 14:46:54 -0700 you wrote:
> From: Luiz Augusto von Dentz <[email protected]>
>
> CCC shall always have both Read and Write permissions set in addition to
> what application set.
>
> Fixes: https://github.com/bluez/bluez/issues/399
>
> [...]
Here is the summary with links:
- [BlueZ,1/3] gatt: Fix not setting permissions for CCC
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=fbf17ac497bb
- [BlueZ,2/3] gatt-db: Check if permissions are set when adding CCC
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=50782b0eeb05
- [BlueZ,3/3] client/gatt: Fix notification enabled/disabled output
https://git.kernel.org/pub/scm/bluetooth/bluez.git/?id=c2734c41f7c0
You are awesome, thank you!
--
Deet-doot-dot, I am a bot.
https://korg.docs.kernel.org/patchwork/pwbot.html