2021-03-05 23:03:26

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH BlueZ 1/2] main.conf: Enable passing false to DeviceID

From: Luiz Augusto von Dentz <[email protected]>

This adds support for setting DeviceID to false so plaforms can disable
DeviceID.

Fixes: https://github.com/bluez/bluez/issues/101
---
src/main.c | 8 +++++++-
src/main.conf | 2 +-
2 files changed, 8 insertions(+), 2 deletions(-)

diff --git a/src/main.c b/src/main.c
index b66e2b8cb..572dc939c 100644
--- a/src/main.c
+++ b/src/main.c
@@ -188,10 +188,16 @@ static void parse_did(const char *did)
int result;
uint16_t vendor, product, version , source;

- /* version and source are optional */
+ vendor = 0x0000;
+ product = 0x0000;
version = 0x0000;
source = 0x0002;

+ if (!strcasecmp(did, "false")) {
+ source = 0x0000;
+ goto done;
+ }
+
result = sscanf(did, "bluetooth:%4hx:%4hx:%4hx",
&vendor, &product, &version);
if (result != EOF && result >= 2) {
diff --git a/src/main.conf b/src/main.conf
index ad36638b7..f47cab46d 100644
--- a/src/main.conf
+++ b/src/main.conf
@@ -26,7 +26,7 @@
# Use vendor id source (assigner), vendor, product and version information for
# DID profile support. The values are separated by ":" and assigner, VID, PID
# and version.
-# Possible vendor id source values: bluetooth, usb (defaults to usb)
+# Possible vendor id source values: bluetooth, usb (default) or false (disabled)
#DeviceID = bluetooth:1234:5678:abcd

# Do reverse service discovery for previously unknown devices that connect to
--
2.29.2


2021-03-05 23:06:11

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: [PATCH BlueZ 2/2] gatt: Fix registering DIS without a valid source

From: Luiz Augusto von Dentz <[email protected]>

If source has not been set don't register DIS as it would not contain
any useful information and by doing this it actually allows systems to
register their own DIS instance.
---
src/gatt-database.c | 19 ++++++++-----------
1 file changed, 8 insertions(+), 11 deletions(-)

diff --git a/src/gatt-database.c b/src/gatt-database.c
index bd5864bcd..be6dfb265 100644
--- a/src/gatt-database.c
+++ b/src/gatt-database.c
@@ -1241,22 +1241,22 @@ static void device_info_read_pnp_id_cb(struct gatt_db_attribute *attrib,
static void populate_devinfo_service(struct btd_gatt_database *database)
{
struct gatt_db_attribute *service;
+ struct gatt_db_attribute *attrib;
bt_uuid_t uuid;

+ if (!btd_opts.did_source)
+ return;
+
bt_uuid16_create(&uuid, UUID_DIS);
service = gatt_db_add_service(database->db, &uuid, true, 3);

- if (btd_opts.did_source > 0) {
- struct gatt_db_attribute *attrib;
-
- bt_uuid16_create(&uuid, GATT_CHARAC_PNP_ID);
- attrib = gatt_db_service_add_characteristic(service, &uuid,
+ bt_uuid16_create(&uuid, GATT_CHARAC_PNP_ID);
+ attrib = gatt_db_service_add_characteristic(service, &uuid,
BT_ATT_PERM_READ,
BT_GATT_CHRC_PROP_READ,
device_info_read_pnp_id_cb,
NULL, database);
- gatt_db_attribute_set_fixed_length(attrib, 7);
- }
+ gatt_db_attribute_set_fixed_length(attrib, 7);

gatt_db_service_set_active(service, true);

@@ -1267,10 +1267,7 @@ static void register_core_services(struct btd_gatt_database *database)
{
populate_gap_service(database);
populate_gatt_service(database);
-
- if (btd_opts.did_source > 0)
- populate_devinfo_service(database);
-
+ populate_devinfo_service(database);
}

static void conf_cb(void *user_data)
--
2.29.2

2021-03-05 23:47:45

by bluez.test.bot

[permalink] [raw]
Subject: RE: [BlueZ,1/2] main.conf: Enable passing false to DeviceID

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

---Test result---

##############################
Test: CheckPatch - PASS

##############################
Test: CheckGitLint - PASS

##############################
Test: CheckBuild - PASS

##############################
Test: MakeCheck - PASS



---
Regards,
Linux Bluetooth

2021-03-06 01:20:26

by Luiz Augusto von Dentz

[permalink] [raw]
Subject: Re: [BlueZ,1/2] main.conf: Enable passing false to DeviceID

Hi,

On Fri, Mar 5, 2021 at 3:38 PM <[email protected]> wrote:
>
> 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=443019
>
> ---Test result---
>
> ##############################
> Test: CheckPatch - PASS
>
> ##############################
> Test: CheckGitLint - PASS
>
> ##############################
> Test: CheckBuild - PASS
>
> ##############################
> Test: MakeCheck - PASS
>
>
>
> ---
> Regards,
> Linux Bluetooth

Pushed.

--
Luiz Augusto von Dentz