From: "Frédéric Danis" <frederic.danis@collabora.com>
To: linux-bluetooth@vger.kernel.org
Subject: [PATCH BlueZ] client/btpclient: Add BTP_EV_GAP_SEC_LEVEL_CHANGED support
Date: Thu, 7 May 2026 18:16:33 +0200 [thread overview]
Message-ID: <20260507161633.437600-1-frederic.danis@collabora.com> (raw)
This allows reduces connection time for the BAP tests.
---
client/btpclient/gap.c | 22 ++++++++++++++++++++++
src/shared/btp.h | 11 +++++++++++
2 files changed, 33 insertions(+)
diff --git a/client/btpclient/gap.c b/client/btpclient/gap.c
index 68e029dcc..1a6c2c2f0 100644
--- a/client/btpclient/gap.c
+++ b/client/btpclient/gap.c
@@ -2538,6 +2538,21 @@ static void btp_gap_device_connection_ev(struct l_dbus_proxy *proxy,
}
}
+static void btp_security_changed_ev(struct l_dbus_proxy *proxy, bool paired)
+{
+ struct btp_device *dev = find_device_by_proxy(proxy);
+ struct btp_adapter *adapter = find_adapter_by_device(dev);
+ struct btp_gap_sec_level_changed_ev ev;
+
+ /* TODO: get real security level */
+ memcpy(&ev.address, &dev->address, sizeof(ev.address));
+ ev.address_type = dev->address_type;
+ ev.sec_level = BTP_GAP_SEC_LEVEL_AUTH_ENC;
+
+ btp_send(btp, BTP_GAP_SERVICE, BTP_EV_GAP_SEC_LEVEL_CHANGED,
+ adapter->index, sizeof(ev), &ev);
+}
+
static void btp_identity_resolved_ev(struct l_dbus_proxy *proxy)
{
struct btp_device *dev = find_device_by_proxy(proxy);
@@ -2709,6 +2724,13 @@ void gap_property_changed(struct l_dbus_proxy *proxy, const char *name,
*/
if (!prop)
btp_gap_device_connection_ev(proxy, prop);
+ } else if (!strcmp(name, "Paired")) {
+ bool prop;
+
+ if (!l_dbus_message_get_arguments(msg, "b", &prop))
+ return;
+
+ btp_security_changed_ev(proxy, prop);
} else if (!strcmp(name, "AddressType")) {
/* Address property change came first along with address
* type.
diff --git a/src/shared/btp.h b/src/shared/btp.h
index b99ad3a28..4d3c4ec6f 100644
--- a/src/shared/btp.h
+++ b/src/shared/btp.h
@@ -286,6 +286,17 @@ struct btp_gap_identity_resolved_ev {
bdaddr_t identity_address;
} __packed;
+#define BTP_GAP_SEC_LEVEL_UNAUTH_ENC 0x01
+#define BTP_GAP_SEC_LEVEL_AUTH_ENC 0x02
+#define BTP_GAP_SEC_LEVEL_AUTH_SC 0x03
+
+#define BTP_EV_GAP_SEC_LEVEL_CHANGED 0x89
+struct btp_gap_sec_level_changed_ev {
+ uint8_t address_type;
+ bdaddr_t address;
+ uint8_t sec_level;
+} __packed;
+
struct btp_gatt_service {
uint16_t start_handle;
uint16_t end_handle;
--
2.43.0
next reply other threads:[~2026-05-07 16:16 UTC|newest]
Thread overview: 3+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-05-07 16:16 Frédéric Danis [this message]
2026-05-07 16:56 ` [PATCH BlueZ] client/btpclient: Add BTP_EV_GAP_SEC_LEVEL_CHANGED support Luiz Augusto von Dentz
2026-05-07 17:50 ` [BlueZ] " bluez.test.bot
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=20260507161633.437600-1-frederic.danis@collabora.com \
--to=frederic.danis@collabora.com \
--cc=linux-bluetooth@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.