2023-07-28 09:14:34

by Simon Mikuda

[permalink] [raw]
Subject: [PATCH BlueZ] advertising: Fix setting "BR/EDR not supported" flag

We need to check if adapter is connectable since remote device can connect
to our device even when we are not discoverable according to advertised
MAC address.
---
src/advertising.c | 8 +++++---
1 file changed, 5 insertions(+), 3 deletions(-)

diff --git a/src/advertising.c b/src/advertising.c
index d959bf38f..b50900029 100644
--- a/src/advertising.c
+++ b/src/advertising.c
@@ -95,6 +95,8 @@ struct dbus_obj_match {
const char *path;
};

+static int get_adv_flags(struct btd_adv_client *client);
+
static bool match_client(const void *a, const void *b)
{
const struct btd_adv_client *client = a;
@@ -736,11 +738,11 @@ static bool set_flags(struct btd_adv_client *client, uint8_t flags)
if (!btd_adapter_get_bredr(client->manager->adapter))
flags |= BT_AD_FLAG_NO_BREDR;

- /* Set BR/EDR Not Supported if adapter is not discoverable but the
+ /* Set BR/EDR Not Supported if adapter is not connectable but the
* instance is.
*/
- if ((flags & (BT_AD_FLAG_GENERAL | BT_AD_FLAG_LIMITED)) &&
- !btd_adapter_get_discoverable(client->manager->adapter))
+ if ((get_adv_flags(client) & MGMT_ADV_FLAG_CONNECTABLE) &&
+ !btd_adapter_get_connectable(client->manager->adapter))
flags |= BT_AD_FLAG_NO_BREDR;

if (!bt_ad_add_flags(client->data, &flags, 1))
--
2.34.1



2023-07-28 11:07:27

by bluez.test.bot

[permalink] [raw]
Subject: RE: [BlueZ] advertising: Fix setting "BR/EDR not supported" flag

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=770477

---Test result---

Test Summary:
CheckPatch PASS 0.52 seconds
GitLint PASS 0.35 seconds
BuildEll PASS 36.80 seconds
BluezMake PASS 1270.82 seconds
MakeCheck PASS 13.58 seconds
MakeDistcheck PASS 214.05 seconds
CheckValgrind PASS 338.48 seconds
CheckSmatch PASS 472.45 seconds
bluezmakeextell PASS 141.99 seconds
IncrementalBuild PASS 1078.86 seconds
ScanBuild PASS 1495.50 seconds



---
Regards,
Linux Bluetooth