From: Luiz Augusto von Dentz Date: Thu, 4 Nov 2021 00:25:33 +0000 (-0700) Subject: main.conf: Rework privacy options X-Git-Tag: submit/tizen/20220313.220938~44 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=3dd9487d77fd7756c4cf19986e1c62d4b0cf7ca1;p=platform%2Fupstream%2Fbluez.git main.conf: Rework privacy options This reworks privacy options so the limited discoverable is only available when controller mode is set to dual. Signed-off-by: Anuj Jain Signed-off-by: Ayush Garg --- diff --git a/src/btd.h b/src/btd.h index 781f7054..cc827c19 100755 --- a/src/btd.h +++ b/src/btd.h @@ -103,6 +103,7 @@ struct btd_opts { uint32_t discovto; uint32_t tmpto; uint8_t privacy; + bool device_privacy; struct btd_defaults defaults; diff --git a/src/main.c b/src/main.c index d6bede60..27efb184 100755 --- a/src/main.c +++ b/src/main.c @@ -670,13 +670,27 @@ static void parse_config(GKeyFile *config) } else { DBG("privacy=%s", str); - if (!strcmp(str, "network") || !strcmp(str, "on")) + if (!strcmp(str, "network") || !strcmp(str, "on")) { btd_opts.privacy = 0x01; - if (!strcmp(str, "device") || !strcmp(str, "limited")) + } else if (!strcmp(str, "device")) { + btd_opts.privacy = 0x01; + btd_opts.device_privacy = true; + } else if (!strcmp(str, "limited-network")) { + if (btd_opts.mode != BT_MODE_DUAL) { + DBG("Invalid privacy option: %s", str); + btd_opts.privacy = 0x00; + } + btd_opts.privacy = 0x01; + } else if (!strcmp(str, "limited-device")) { + if (btd_opts.mode != BT_MODE_DUAL) { + DBG("Invalid privacy option: %s", str); + btd_opts.privacy = 0x00; + } btd_opts.privacy = 0x02; - else if (!strcmp(str, "off")) + btd_opts.device_privacy = true; + } else if (!strcmp(str, "off")) { btd_opts.privacy = 0x00; - else { + } else { DBG("Invalid privacy option: %s", str); btd_opts.privacy = 0x00; } diff --git a/src/main.conf b/src/main.conf index d28fa4b6..d5c4f544 100755 --- a/src/main.conf +++ b/src/main.conf @@ -73,14 +73,29 @@ # Default privacy setting. # Enables use of private address. -# Possible values: "off", "network/on", "device/limited" -# "network/on": a device will only accept advertising packets from peer devices -# that contain private addresses. It may not be compatible with some legacy -# devices since it requires the use of RPA(s) all the time. -# "device/limited": A device in device privacy mode is only concerned about the +# Possible values for LE mode: "off", "network/on", "device" +# Possible values for Dual mode: "off", "network/on", "device", +# "limited-network", "limited-device" +# +# - off: Local privacy disabled. +# +# - network/on: A device will only accept advertising packets from peer +# devices that contain private addresses. It may not be compatible with some +# legacy devices since it requires the use of RPA(s) all the time. +# +# - device: A device in device privacy mode is only concerned about the # privacy of the device and will accept advertising packets from peer devices # that contain their Identity Address as well as ones that contain a private # address, even if the peer device has distributed its IRK in the past. + +# - limited-network: Apply Limited Discoverable Mode to advertising, which +# follows the same policy as to BR/EDR that publishes the identity address when +# discoverable, and Network Privacy Mode for scanning. +# +# - limited-device: Apply Limited Discoverable Mode to advertising, which +# follows the same policy as to BR/EDR that publishes the identity address when +# discoverable, and Device Privacy Mode for scanning. +# # Defaults to "off" #Privacy = off