Hi Dagan, On Fri, Oct 1, 2021 at 7:19 AM Dagan Martinez <dmartinez@xxxxxxxxxx> wrote: > > In some cases, it is desirable to require encryption and/or > authentication for server-initiated updates, as they may contain > sensitive data. > > Currently, there is no way to do this with BlueZ. > > Here is a query about this feature from 2019: > https://stackoverflow.com/questions/55884233 > > This patch implements this feature by introducing new `x-notify` and > `x-indicate` flags that allow a user to restrict access to a > characteristic's CCCD (as well as documentation for those flags). > > Note that `x-notify` and `x-indicate` each enforce security for ALL > server-initiated updates. That is, you cannot require one level of > security for notifications and another security level for indications on > the same CCCD. I could not think of a reason why somebody would want > that feature, and did not think the accuracy of terms would be worth the > introduced complexity, so I didn't implement it. > > --- > Changes in v4: > - Directly set flags on CCCD instead of having new intermediate > permissions > > Changes in v3: > - Split the `x-asynchronous` flags into `x-notify` and `x-indicate` > - Fix a mixed code and declaration error > > Changes in v2: > - Fix line-width issues brought up by CI > > Dagan Martinez (2): > gatt: Allow GATT server to dicate CCC permissions > doc/gatt-api: Add 'X-notify`/`X-indicate` > > doc/gatt-api.txt | 15 ++++++++++++- > src/gatt-database.c | 52 ++++++++++++++++++++++++++++++++++++--------- > 2 files changed, 56 insertions(+), 11 deletions(-) > > -- > 2.31.1 Applied, thanks. -- Luiz Augusto von Dentz