Inga Stotland [Tue, 30 Nov 2021 23:14:12 +0000 (15:14 -0800)]
mesh: Don't log error for false positive mkdir failure
When invoking mkdir() for mesh configuration storage, do not
report an error if a target directory already exists.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 29 Nov 2021 17:59:42 +0000 (09:59 -0800)]
gatt: Omit MTU if not connected
If not connected there is no reason to expose the MTU as that only
valid while connected.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Javier de San Pedro [Sat, 27 Nov 2021 22:21:36 +0000 (23:21 +0100)]
gatt-client: Fix disconnecting due to GattCharacteristic1.MTU
After the MTU dbus property patches in 5.62 we are seeing bluetoothd
terminate frequently with "Disconnected from D-Bus. Exiting." msgs.
Apparently this is because bluetoothd sent an invalid reply to a D-Bus
Property Get (for GattCharacteristic1's MTU).
Multiple issues in bluez Github.com project reported similar behavior;
at least #235 (see Fixes:), #219, and likely #238.
When the Characteristic1 object is still cached/alive, but the
underlying att connection is not (e.g. someone just called Disconnect),
the property getter (characteristic_get_mtu) right now returns false.
However, gdbus seems to ignore the return value and sends the empty reply
message anyway (rather than a dbus error?), and this seems to cause
the dbus connection to be terminated (due to the ill-formed reply?).
bluetoothd then aborts.
This patch makes the property value BT_ATT_DEFAULT_LE_MTU if the
underlying att object does not exist, rather than returning an invalid
message. This is consistent with the existing PropertyChanged signal
behavior (we will emit a PropertyChange only if a larger MTU is
exchanged), and fixes the issue on my machines.
An alternative could be to change gdbus behavior, but I'm not sure if we
are allowed to return an error here anyway without causing problems in
other dbus libraries/wrappers.
Fixes:
aaa0c4996ae9 ("gatt: Add implementation of GattCharacteristic1.MTU")
Fixes: https://github.com/bluez/bluez/issues/235
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Thu, 25 Nov 2021 07:06:27 +0000 (15:06 +0800)]
doc: Add Name Request Fail flag in device found event
Userspace should use this new flag to decide whether to do the remote
name resolving or not.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Thu, 25 Nov 2021 07:06:26 +0000 (15:06 +0800)]
main: add configurable RemoteNameRequestRetryDelay parameter
This specifies how long will the userspace ignore a peer with an
unknown name after a failed remote name resolving procedure.
The peer device can still be connected, this only prevents the remote
name resolving procedure retry.
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Thu, 25 Nov 2021 07:06:25 +0000 (15:06 +0800)]
device: Save remote name request attempts into cache file
Since a peer device is potentially removed if not discovered for more
than 30 seconds, we would lost the remote name request activity when
the device is rediscovered. This could end up with a remote name
request much sooner than we intend it to be.
Therefore, put the RNR record into a cache file, so we can recover it
when the peer device is rediscovered.
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Thu, 25 Nov 2021 07:06:24 +0000 (15:06 +0800)]
Listen and process remote name resolving failure
When Remote Name Resolve ends with failure, record this occurrence and
prevent remote name resolving for the same device for some time.
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Thu, 25 Nov 2021 07:06:23 +0000 (15:06 +0800)]
mgmt: Add NAME_REQUEST_FAILED flag for device_found event
Report failure when resolving remote name to userspace. This is useful
so the userspace can make an informed decision when to retry name
resolving procedure.
Reviewed-by: Miao-chen Chou <mcchou@chromium.org>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 23 Nov 2021 21:32:12 +0000 (13:32 -0800)]
build: Check for linux/uinput.h and linux/uhid.h
This makes configure to check the presence of linux/uinput.h and
linux/uhid.h kernel uapi headers since the code no longer contain copies
of them and otherwise the code cannot be build without them:
checking linux/uinput.h usability... yes
checking linux/uinput.h presence... yes
checking for linux/uinput.h... yes
checking linux/uhid.h usability... yes
checking linux/uhid.h presence... yes
checking for linux/uhid.h... yes
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Tue, 16 Nov 2021 06:49:49 +0000 (22:49 -0800)]
emulator: fix potential resource leak
This patch releases the allocated fd to prevent the potential resource
leak. This was reported by the Coverity scan.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Manish Mandlik [Sat, 20 Nov 2021 15:29:41 +0000 (07:29 -0800)]
core: Update default advmon Sampling_Period to 0xFF
Update default Advertisemet Monitor Sampling_Period to 0xFF. It
indicates that controller will report only one advertisement per
monitoring period for a device. This will help reduce the power
consumption drastically.
Reviewed-by: Miao-chen Chou <mcchou@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Manish Mandlik [Sat, 20 Nov 2021 15:29:40 +0000 (07:29 -0800)]
adv_monitor: Change sampling period to uint16_t
In the Advertisement Monitor API, RSSISamplingPeriod is an unsigned
value. Change sampling_period variable to uint16_t in the code.
More info: doc/advertisement-monitor-api.txt
Reviewed-by: Archie Pusaka <apusaka@google.com>
Reviewed-by: Miao-chen Chou <mcchou@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Manish Mandlik [Sat, 20 Nov 2021 15:29:39 +0000 (07:29 -0800)]
adv_monitor: Invoke DeviceFound/Lost on tracked monitors
This patch delivers DeviceFound/DeviceLost events to apps over D-Bus
whenever controller starts/stops tracking a device.
Tests performed:
- Add a monitor and verify that DeviceFound/DeviceLost events are
received whenever controller starts/stops monitoring.
- Verify from logs that only one Adv Report is received from the
controller when Sampling_Period is set to 0xFF and the
DeviceFound/DeviceLost functionality still works as intended.
- Verify that DeviceFound/DeviceLost is reported appropriately even
when the Active Scanning is in progress.
- Verify that the reconnection also works properly with and without
any active Advertisement Monitor.
Reviewed-by: Miao-chen Chou <mcchou@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Manish Mandlik [Sat, 20 Nov 2021 15:29:38 +0000 (07:29 -0800)]
adv_monitor: Receive the Device Found/Lost events
This patch registers callback functions to receive the Advertisement
Monitor Device Found and Device Lost events. It also disables software
based filtering whenever controller offloading support is available.
Test performed:
- Verified by logs that the MSFT Monitor Device is received from the
controller and the bluetoothd is notified whenever the controller
starts/stops monitoring a device.
Reviewed-by: Miao-chen Chou <mcchou@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Manish Mandlik [Sat, 20 Nov 2021 15:29:37 +0000 (07:29 -0800)]
lib: Add definitions of the Adv Monitor Device Found/Lost events
This patch adds definitions of the new Advertisement Monitor Device
Found and Device Lost events to indicate that the controller has
started/stopped tracking a particular device.
Reviewed-by: Miao-chen Chou <mcchou@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Manish Mandlik [Sat, 20 Nov 2021 15:29:36 +0000 (07:29 -0800)]
doc: Introduce the Adv Monitor Device Found/Lost events
This patch introduces two new MGMT events
MGMT_EV_ADV_MONITOR_DEVICE_FOUND and MGMT_EV_ADV_MONITOR_DEVICE_LOST to
indicate that the controller has started/stopped tracking a particular
device matching one of the already added Advertisement Monitor.
If the controller offloading support is not available,
MGMT_EV_ADV_MONITOR_DEVICE_FOUND event is also used to report all
advertisements to perform software based filtering whenever we are not
active scanning.
Reviewed-by: Miao-chen Chou <mcchou@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 22 Nov 2021 19:39:00 +0000 (11:39 -0800)]
uinput: Remove local copy of uinput.h
uinput.h is part of kernel uapi nowadays so it can be included directly
from linux/uinput.h which has a compatible definition with 32 bits
systems:
https://github.com/bluez/bluez/issues/84#issuecomment-
942155841
Fixes: https://github.com/bluez/bluez/issues/84
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Sat, 13 Nov 2021 02:35:59 +0000 (18:35 -0800)]
client: Fix uninitiailzed scalar variable
This patch fixes the uninitiailzed varialble(CWE-457) reported by
the Coverity scan.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Sat, 13 Nov 2021 02:35:58 +0000 (18:35 -0800)]
monitor: Fix uninitiailzed scalar variable
This patch fixes the uninitiailzed varialble(CWE-457) reported by
the Coverity scan.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Sat, 13 Nov 2021 02:35:57 +0000 (18:35 -0800)]
emulator: Fix uninitiailzed scalar variable
This patch fixes the uninitiailzed varialble(CWE-457) reported by
the Coverity scan.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Yun-Hao Chung [Fri, 12 Nov 2021 04:01:49 +0000 (12:01 +0800)]
admin: fix devices not reset
When |admin_policy_remove| is called, we set |devices| to NULL but never
set it back until |admin_init|. This makes admin lost track of current
registered device interface, so the next |admin_policy_removed| will not
be able to unregister those interfaces.
Reviewed-by: Archie Pusaka <apusaka@chromium.org>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 8 Jun 2021 23:46:49 +0000 (16:46 -0700)]
shared/gatt-server: Fix heap overflow when appending prepare writes
The code shall check if the prepare writes would append more the
allowed maximum attribute length.
Fixes https://github.com/bluez/bluez/security/advisories/GHSA-479m-xcq5-9g2q
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 15 Jul 2021 18:01:20 +0000 (11:01 -0700)]
sdpd: Fix leaking buffers stored in cstates cache
These buffer shall only be keep in cache for as long as they are
needed so this would cleanup any client cstates in the following
conditions:
- There is no cstate on the response
- No continuation can be found for cstate
- Different request opcode
- Respond with an error
- Client disconnect
Fixes: https://github.com/bluez/bluez/security/advisories/GHSA-3fqg-r8j5-f5xq
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Jefferson Zhai [Fri, 5 Nov 2021 16:57:35 +0000 (09:57 -0700)]
tools/mesh: Add <Vendor ID> option to sub-add cmd
If the Subscription being added is a Vendor Model, there needs to be a
4th parameter. Fixes oversight of not supporting vendor model in Meshctl.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 5 Nov 2021 19:04:49 +0000 (12:04 -0700)]
mgmt-tester: Add test for Device Privacy Mode flag
This tests the use of Set Device Flags to set Device Privacy Mode which
results in the following sequence:
@ MGMT Event: Command Compl.. (0x0001) plen 10 {0x0001}
Set Device Flags (0x0050) plen 7
Status: Success (0x00)
LE Address: BC:9A:78:56:34:12 (OUI BC-9A-78)
< HCI Command: LE Set Exten.. (0x08|0x0042) plen 6
Extended scan: Disabled (0x00)
Filter duplicates: Disabled (0x00)
Duration: 0 msec (0x0000)
Period: 0.00 sec (0x0000)
= mgmt-tester: Set Device Flags (0x0050): Success (0x00)
= mgmt-tester: Test condition complete, 4 left
= mgmt-tester: New Device Flags Changed event received
= mgmt-tester: Test condition complete, 3 left
> HCI Event: Command Complete (0x0e) plen 4
LE Set Extended Scan Enable (0x08|0x0042) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Addre.. (0x08|0x002d) plen 1
Address resolution: Disabled (0x00)
= mgmt-tester: HCI Command 0x2042 length 6
> HCI Event: Command Complete (0x0e) plen 4
LE Set Address Resolution Enable (0x08|0x002d) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Priva.. (0x08|0x004e) plen 8
Peer Identity address type: Public (0x00)
Peer Identity address: BC:9A:78:56:34:12 (OUI BC-9A-78)
Privacy Mode: Use Device Privacy (0x01)
= mgmt-tester: HCI Command 0x202d length 1
= mgmt-tester: Test condition complete, 2 left
> HCI Event: Command Complete (0x0e) plen 4
LE Set Privacy Mode (0x08|0x004e) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Addre.. (0x08|0x002d) plen 1
Address resolution: Enabled (0x01)
= mgmt-tester: HCI Command 0x204e length 8
= mgmt-tester: Test condition complete, 1 left
> HCI Event: Command Complete (0x0e) plen 4
LE Set Address Resolution Enable (0x08|0x002d) ncmd 1
Status: Success (0x00)
< HCI Command: LE Set Exten.. (0x08|0x0041) plen 8
Own address type: Random (0x03)
Filter policy: Ignore not in accept list (0x01)
PHYs: 0x01
Entry 0: LE 1M
Type: Passive (0x00)
Interval: 60.000 msec (0x0060)
Window: 30.000 msec (0x0030)
= mgmt-tester: HCI Command 0x202d length 1
= mgmt-tester: Test condition complete, 0 left
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 5 Nov 2021 19:03:23 +0000 (12:03 -0700)]
monitor: Add support for Device Privacy Mode flag
This adds proper decoding for Device Privacy Mode flag:
@ MGMT Command: Set Device... (0x0050) plen 11 {0x0001}
LE Address: BC:9A:78:56:34:12 (OUI BC-9A-78)
Current Flags: 0x00000002
Device Privacy Mode
@ MGMT Event: Device Flags... (0x002a) plen 15 {0x0002}
LE Address: BC:9A:78:56:34:12 (OUI BC-9A-78)
Supported Flags: 0x00000003
Remote Wakeup
Device Privacy Mode
Current Flags: 0x00000002
Device Privacy Mode
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 4 Nov 2021 00:26:30 +0000 (17:26 -0700)]
adapter: Set Device Privacy Mode
This adds support for setting Device Privacy flag when enabled in
main.conf via Privacy = device,limited-device.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 4 Nov 2021 00:25:33 +0000 (17:25 -0700)]
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 <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 3 Nov 2021 22:26:07 +0000 (15:26 -0700)]
mgmt-api: Add new Device Flag to use Device Privacy Mode
This adds a new flag to Get/Set Device Flag commands so it is possible
to set the Device Privacy Mode which allows to connect when the
remote device uses either identity or random address.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 2 Nov 2021 05:33:08 +0000 (22:33 -0700)]
btdev: Add support for LE Set Privacy mode
This adds support for LE Set Privacy mode which is required when using
Device Privacy mode:
< HCI Command: LE Set Priva.. (0x08|0x004e) plen 8
Peer Identity address type: Public (0x00)
Peer Identity address: BC:9A:78:56:34:12 (OUI BC-9A-78)
Privacy Mode: Use Device Privacy (0x01)
> HCI Event: Command Complete (0x0e) plen 4
LE Set Privacy Mode (0x08|0x004e) ncmd 1
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 9 Nov 2021 21:50:38 +0000 (13:50 -0800)]
media: Fix memory leak
This fixes the following memory leak as a result of not freeing
app->proxies:
160 (32 direct, 128 indirect) bytes in 1 blocks are definitely lost in
loss record 218 of 261
at 0x484086F: malloc (vg_replace_malloc.c:381)
by 0x1CF80E: btd_malloc (util.c:33)
by 0x1CF24D: queue_new (queue.c:47)
by 0x144DB9: create_app (media.c:2262)
by 0x144DB9: register_app (media.c:2322)
by 0x1CC148: process_message (object.c:246)
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 8 Nov 2021 19:15:44 +0000 (11:15 -0800)]
client/gatt: Fix using atoi
atoi doesn't support values entered in hexadecimal (0x...) which is
likely the prefered format for the likes of handles, etc, so this
replaces the uses of atoi with strtol.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Jacek Konieczny [Mon, 1 Nov 2021 13:49:18 +0000 (14:49 +0100)]
midi: Free ALSA seq resources in midi_device_remove()
Sometimes, on connection error, this gets called and frees the device
when midi_disconnect() was not called which would leave ALSA sequencer
objects leaking.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Wed, 3 Nov 2021 09:02:55 +0000 (17:02 +0800)]
adapter: Remove "Master" entry from LTK storage
The entry has been deprecated since 2014 and it's time to remove them
altogether.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Wed, 3 Nov 2021 09:02:54 +0000 (17:02 +0800)]
doc: Add PeripheralLongTermKey for storing LTK
Update doc to reflect update in adapter.c.
Reviewed-by: Sonny Sasaka <sonnysasaka@chromium.org>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Wed, 3 Nov 2021 09:02:53 +0000 (17:02 +0800)]
adapter: Use PeripheralLongTermKey to store LTK
Introducing PeripheralLongTermKey group for storing LTK info to
replace the less inclusive term. Currently we still need to write/read
from both to ensure smooth transition, but later we should deprecate
the old term.
Reviewed-by: Sonny Sasaka <sonnysasaka@chromium.org>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 2 Nov 2021 00:08:15 +0000 (17:08 -0700)]
device: Fix not updating the auto-connect/accept list
When receiving a new IRK the device address is updated but the old
address is not removed from the auto-connect/accept list.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 2 Nov 2021 04:35:52 +0000 (21:35 -0700)]
advertising-api: Clarify Duration property
Duration property refers to the rotation duration not the actual
lifetime of the advertising which is controlled by the Timeout
property.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 1 Nov 2021 22:24:34 +0000 (15:24 -0700)]
mgmt-tester: Add test for Limited/Device Privacy
This adds a test for Limited/Device Privacy (0x02):
@ MGMT Command: Set Privacy (0x002f) plen 17
Privacy: Limited (0x02)
Key:
01020304050607080102030405060708
@ MGMT Event: Command Complete (0x0001) plen 7
Set Privacy (0x002f) plen 4
Status: Success (0x00)
Current settings: 0x00002080
BR/EDR
Privacy
@ MGMT Event: New Settings (0x0006) plen 4
Current settings: 0x00002080
BR/EDR
Privacy
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 1 Nov 2021 22:01:04 +0000 (15:01 -0700)]
main.conf: Fix Privacy modes
Device privacy 0x01 uses RPA regardless of the discoverable setting thus
it conforms to network mode not device mode.
Also this improves documentation to state what is the expectation of
each mode since it may not have been very clear by just using the terms
from the spec.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Fri, 29 Oct 2021 18:29:29 +0000 (11:29 -0700)]
tools/mgmt-tester: Add LL Privacy test cases
This patch adds LL Privacy related test cases.
Multi Ext Advertising - Success 3 (Add 2 Advs)
Multi Ext Advertising - Success 4 (Remove Adv)
Multi Ext Advertising - Success 5 (Remove all)
Multi Ext Advertising - Success 6 (Add w/o power on)
Multi Ext Advertising - Fail (Add MAX)
LL Privacy - Add Device 1 (Add to AL)
LL Privacy - Add Device 2 (Add to RL)
LL Privacy - Add Device 3 (Enable RL)
LL Privacy - Add Device 4 (2 Devices to AL)
LL Privacy - Add Device 5 (2 Devices to RL)
LL Privacy - Add Device 6 (RL is full)
LL Privacy - Add Device 7 (WL is full)
LL Privacy - Add Device 8 (Disable Adv)
LL Privacy - Add Device 9 (Multi Adv)
LL Privacy - Add Device 10 (Multi Dev and Multi Adv)
LL Privacy - Remove Device 1 (Remove from AL)
LL Privacy - Remove Device 2 (Remove from RL)
LL Privacy - Remove Device 3 (Disable RL)
LL Privacy - Remove Device 4 (Disable Adv)
LL Privacy - Remove Device 5 (Multi Adv)
LL Privacy - Start Discovery 1 (Disable RL)
LL Privacy - Start Discovery 2 (Disable RL)
LL Privacy - Advertising 1 (Scan Results)
LL Privacy - Acceptor 1
LL Privacy - Acceptor 2
LL Privacy - Pair 1
LL Privacy - Pair 2 (Add to AL)
LL Privacy - Unpair 1
LL Privacy - Unpair 2 (Remove from AL)
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Fri, 29 Oct 2021 18:29:28 +0000 (11:29 -0700)]
tools/mgmt-tester: Update the expected manufacturer of emulator
This patch updates the expected manufacturer of the emulator for the
following test cases:
> Read Ext Controller Info 1 Failed
> Read Ext Controller Info 2 Failed
> Read Ext Controller Info 3 Failed
> Read Ext Controller Info 4 Failed
> Read Ext Controller Info 5 Failed
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 27 Oct 2021 19:53:34 +0000 (12:53 -0700)]
device: Fix not clearing error on update_bredr_services
When trying to loads contents from file using g_key_file_load_from_file
it may cause an error which needs to be cleared since the gerr is
reused, also make sure the file is always created upfront to avoid
having such error when storage has not been initialized.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 26 Oct 2021 18:03:01 +0000 (11:03 -0700)]
obexd: Add missing phonebook backends
This adds missing phonebook backends to EXTRA_DIST so they can be build
from tarballs.
Fixes: https://github.com/bluez/bluez/issues/222
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 26 Oct 2021 17:54:12 +0000 (10:54 -0700)]
Makefile: Fix code style
Fix lines going over 80 columns.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Bernie Conrad [Tue, 12 Oct 2021 21:51:51 +0000 (14:51 -0700)]
gatt: added missing disconn_id's and removed extra check
Adds missing assignment to disconn_id for pending operations and removes
check that is already handled by checking if the owner_queue of the op
is gone at the start of write_reply_cb.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 25 Oct 2021 20:31:20 +0000 (13:31 -0700)]
tools/mgmt-tester: Add support for experimental feature in setup
This patch adds support for experimental feature in setup_settings
options.
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 25 Oct 2021 20:31:19 +0000 (13:31 -0700)]
emulator: Add support to get the advertising address
This patch add supprt emulator to get the advertising address of the
central device.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 25 Oct 2021 20:31:18 +0000 (13:31 -0700)]
emulator: bthost: Add support LE Ext Adv Report
This patch adds support LE_Extended_Advertising_Report Eevnt in bthost.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 25 Oct 2021 20:31:17 +0000 (13:31 -0700)]
emulator: Add support to config the accept and resolve list
This patch adds interfaces to config the accept list and resolve list in
the btdev.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 22 Oct 2021 21:51:49 +0000 (14:51 -0700)]
btdev: Fix using the callback return as command complete
Command callback can only be used when generating a command status as
command complete can carry more than just the status.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 22 Oct 2021 20:10:09 +0000 (13:10 -0700)]
adapter: Fix storing IRK causing invalid read
When storing an IRK the storage file may not have been created yet
since that uses the device address which is likely changed to the
identity address causing the following trace:
Invalid read of size 8
at 0x196452: store_irk.constprop.0 (adapter.c:8679)
by 0x198C92: new_irk_callback (adapter.c:8737)
by 0x1CF6DC: queue_foreach (queue.c:207)
by 0x1D1394: process_notify (mgmt.c:308)
by 0x1D1394: can_read_data (mgmt.c:374)
by 0x1E0634: watch_callback (io-glib.c:157)
by 0x4954A9E: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.6600.8)
by 0x49A6A97: ??? (in /usr/lib64/libglib-2.0.so.0.6600.8)
by 0x4954162: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.6600.8)
by 0x1E0CD4: mainloop_run (mainloop-glib.c:66)
by 0x1E10B1: mainloop_run_with_signal (mainloop-notify.c:188)
by 0x12E3FC: main (main.c:1210)
Address 0x6534418 is 8 bytes inside a block of size 16 free'd
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 21 Oct 2021 21:35:21 +0000 (14:35 -0700)]
btdev: Set Local RPA when own_addr_type is 0x03
This enables the emulator to properly emulate the generation of a Local
RPA so it always set the random_addr when Create Connection sets 0x03 as
own_addr_type 0x03:
< HCI Command: LE Extended.. (0x08|0x0043) plen 26
Filter policy: Accept list is not used (0x00)
Own address type: Random (0x03)
Peer address type: Public (0x00)
Peer address: 00:AA:01:01:00:00 (Intel Corporation)
Initiating PHYs: 0x01
Entry 0: LE 1M
Scan interval: 60.000 msec (0x0060)
Scan window: 60.000 msec (0x0060)
Min connection interval: 30.00 msec (0x0018)
Max connection interval: 50.00 msec (0x0028)
Connection latency: 0 (0x0000)
Supervision timeout: 420 msec (0x002a)
Min connection length: 0.000 msec (0x0000)
Max connection length: 0.000 msec (0x0000)
> HCI Event: Command Status (0x0f) plen 4
LE Extended Create Connection (0x08|0x0043) ncmd 1
Status: Success (0x00)
> HCI Event: LE Meta Event (0x3e) plen 31
LE Enhanced Connection Complete (0x0a)
Status: Success (0x00)
Handle: 42
Role: Central (0x00)
Peer address type: Public (0x00)
Peer address: 00:AA:01:01:00:00 (Intel Corporation)
Local resolvable private address: 60:0C:C5:B9:10:5D (Resolvable)
Peer resolvable private address: 00:00:00:00:00:00 (Non-Resolvable)
Connection interval: 50.00 msec (0x0028)
Connection latency: 0 (0x0000)
Supervision timeout: 420 msec (0x002a)
Central clock accuracy: 0x00
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 21 Oct 2021 21:34:04 +0000 (14:34 -0700)]
mgmt-tester: Fix expected manufacturer
The emulator is now using Linux Foundation manufacturer ID.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Fri, 24 Sep 2021 09:29:21 +0000 (17:29 +0800)]
tools/hcitool: Fix the descriptions of leal* commands
The descriptions of leal* commands are copied from lewl* commands.
However they should use "accept list" instead.
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 20 Oct 2021 18:41:46 +0000 (11:41 -0700)]
emulator: Add initial support for MSFT vendor commands
This adds the initial support for MSFT vendor commands and enable them
when in btvirt:
< HCI Command: Microsoft Ex.. (0x3f|0x001e) plen 1
Read Supported Features (0x00)
> HCI Event: Command Complete (0x0e) plen 14
Microsoft Extension (0x3f|0x001e) ncmd 1
Read Supported Features (0x00)
Status: Success (0x00)
Features: 0x3f 0x00 0x00 0x00 0x00 0x00 0x00 0x00
RSSI Monitoring feature for BR/EDR
RSSI Monitoring feature for LE connections
RSSI Monitoring of LE advertisements
Advertising Monitoring of LE advertisements
Verifying the validity of P-192 and P-256 keys
Continuous Advertising Monitoring
Event prefix length: 0
Event prefix:
< HCI Command: Microsoft Ex.. (0x3f|0x001e) plen 2
LE Set Advertisement Filter Enable (0x05)
Enable: All filter conditions (0x01)
> HCI Event: Command Complete (0x0e) plen 5
Microsoft Extension (0x3f|0x001e) ncmd 1
LE Set Advertisement Filter Enable (0x05)
Status: Success (0x00)
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 20 Oct 2021 21:29:08 +0000 (14:29 -0700)]
monitor: Enable decoding of MSFT extension with emulator
This enables decoding MSFT extension with emulator instances since it
shall be the only one using Linux Foundation as manufacturer.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 20 Oct 2021 21:27:01 +0000 (14:27 -0700)]
btdev: Use Linux Foundation as manufacturer
This makes the emulator use Linux Foundation manufacturer id which
shall be simpler to distinguish emulator instances since it is unlikely
there will be other vendors using it.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 20 Oct 2021 18:39:27 +0000 (11:39 -0700)]
emulator/vhci: Fix writing msft_opcode using binary format
debugfs expects values in string format not binary format.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 19 Oct 2021 23:41:05 +0000 (16:41 -0700)]
monitor/msft: Add feature bits definition
This adds the feature bits definition used in
HCI_VS_MSFT_Read_Supported_Features.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 19 Oct 2021 23:40:20 +0000 (16:40 -0700)]
monitor/msft: Fix uuid.u128 format
128 bits are actually 16 octecs not 8.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 18 Oct 2021 17:28:33 +0000 (10:28 -0700)]
peripheral: Fix unchecked return value
This patch fixes the unchecked return value(CWE-252) issues reported by
the Coverity.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 18 Oct 2021 17:28:32 +0000 (10:28 -0700)]
obexd: Fix unchecked return value
This patch fixes the unchecked return value(CWE-252) issues reported by
the Coverity.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 18 Oct 2021 17:28:31 +0000 (10:28 -0700)]
mesh: Fix unchecked return value
This patch fixes the unchecked return value(CWE-252) issues reported by
the Coverity.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 18 Oct 2021 17:28:30 +0000 (10:28 -0700)]
profiles/input: Fix unchecked return value
This patch fixes the unchecked return value(CWE-252) issues reported by
the Coverity.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 18 Oct 2021 17:28:29 +0000 (10:28 -0700)]
profiles/a2dp: Fix unchecked return value
This patch fixes the unchecked return value(CWE-252) issues reported by
the Coverity.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 18 Oct 2021 17:28:28 +0000 (10:28 -0700)]
plugins/admin: Fix unchecked return value
This patch fixes the unchecked return value(CWE-252) issues reported by
the Coverity.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 18 Oct 2021 17:28:27 +0000 (10:28 -0700)]
attrib-server: Fix unchecked return value
This patch fixes the unchecked return value(CWE-252) issues reported by
the Coverity.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 18 Oct 2021 17:28:26 +0000 (10:28 -0700)]
adapter: Fix unchecked return value
This patch fixes the unchecked return value(CWE-252) issues reported by
the Coverity.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 18 Oct 2021 17:28:25 +0000 (10:28 -0700)]
device: Fix unchecked return value
This patch fixes the unchecked return value(CWE-252) issues reported by
the Coverity.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 15 Oct 2021 00:45:41 +0000 (17:45 -0700)]
mgmt-tester: Make use of vhci_set_force_suspend/vhci_set_force_wakeup
This replaces the direct setting debugfs to use vhci instance which
properly stores the controller index so it can be used even if there
are real controllers in the system.
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 15 Oct 2021 00:25:04 +0000 (17:25 -0700)]
vhci: Add functions to interface with debugfs
This adds functions that can be used to set debugfs options.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 14 Oct 2021 22:58:52 +0000 (15:58 -0700)]
hciemu: Use vhci_open to instanciate a vhci btdev
This makes use of vhci_open to isntanciate the vhci btdev since that
has proper support for reading the index assigned to it.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 14 Oct 2021 23:29:13 +0000 (16:29 -0700)]
vhci: Use io.h instead of mainloop.h
The likes of mainloop_add_fd is not implemented in mainloop-glib.c while
io_set_read_handler so this makes it possible to use vhci instance with
both libshared-glib and libshared-mainloop.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 14 Oct 2021 21:38:34 +0000 (14:38 -0700)]
vhci: Read the controller index
This makes vhci instance read its controller index assigned by the
kernel and also introduces vhci_get_btdev so it can be used by the
likes of hciemu.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 14 Oct 2021 00:49:50 +0000 (17:49 -0700)]
monitor: Make use of MSFT packet definitions
This make use of the packet definitions for MSFT extension.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 12 Oct 2021 22:48:11 +0000 (15:48 -0700)]
monitor: Add packet definitions for MSFT extension
This adds proper packet definitions for command and response of MSFT
extension.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Marcel Holtmann [Wed, 13 Oct 2021 18:33:40 +0000 (20:33 +0200)]
Release 5.62
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Marcel Holtmann [Wed, 13 Oct 2021 18:33:29 +0000 (20:33 +0200)]
build: Update library version
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Thomas Weißschuh [Sun, 3 Oct 2021 10:18:34 +0000 (12:18 +0200)]
Use accurate icons for headphones and headsets
While these icon names are not part of the spec standard names [0] they
are in practice implemented by at least Adwaita, Gnome, Oxygen, Arc and Breeze
themes.
[0] https://specifications.freedesktop.org/icon-naming-spec/latest/ar01s04.html
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Inga Stotland [Fri, 8 Oct 2021 18:48:30 +0000 (11:48 -0700)]
tools/mesh-cfg-client: Fix NULL pointer dereferencing
This patch fixes a number of potential NULL pointer dereferencing
cases.
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Fri, 8 Oct 2021 19:36:28 +0000 (12:36 -0700)]
tools/mgmt-tester: Add more suspend/resume test cases
This patch adds more suspend/resuem test cases like
- Discover -> Suspend
- Discover -> Suspend -> Resume
- Suspend -> Resume -> Suspend -> Resume
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Fri, 8 Oct 2021 19:36:27 +0000 (12:36 -0700)]
tools/mgmt-tester: Updates Experimental Feature test cases
This patch updates/adds test cases for Read and Set Experimental Feature
commands.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Fri, 8 Oct 2021 19:36:26 +0000 (12:36 -0700)]
doc/tester-config: Enable Runtime Debugging Feature
This patch adds CONFIG_BT_FEATURE_DEBUG=y in tester config to enable the
runtime debug option.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 6 Oct 2021 21:34:41 +0000 (14:34 -0700)]
test-hog: Update pdu sequence
With recent changes to use bt_att_resend the procedures such as read
long will group the reads to the same handler before proceeding to the
next procedures.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 6 Oct 2021 21:00:15 +0000 (14:00 -0700)]
attrib: Make use of bt_att_resend
If the id != 0 that means that a proceedure that needs multiple PDUs is
in progress so use bt_att_resend with its id that way the bt_att id and
gattrib shall always be the same.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 4 Oct 2021 21:16:00 +0000 (14:16 -0700)]
shared/gatt-client: Make use of bt_att_resend
This makes use of bt_att_resend when sending continuation of PDUs such
as BT_ATT_OP_READ_BLOB_REQ and BT_ATT_OP_PREP_WRITE_REQ to avoid having
it interleave with other procedures, which is both simpler for the
peripheral to handle as well as it should reduce the lifetime of the
objects used for tracking the state of these procedures.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 4 Oct 2021 21:14:40 +0000 (14:14 -0700)]
shared/att: Add bt_att_resend
This adds bt_att_resend which can be used with procedures that needs to
send multiple PDUs to complete (e.g. Read Long, Write Long, etc.) so
they are pushed to the head instead of the tail of the queue so one can
retain its position on the queue.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 6 Oct 2021 02:40:22 +0000 (19:40 -0700)]
tools/mgmt-tester: Update the correct suspend reason for disconnect
This patch fixes the suspend reason for the pairing test cases to the
disconnect.
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Mon, 4 Oct 2021 21:56:30 +0000 (14:56 -0700)]
tools/mgmt-tester: Fix the suspend reason code
This patch fixes the suspend reason code to align with the corrent
kernel implementation.
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Thu, 9 Sep 2021 23:09:23 +0000 (16:09 -0700)]
tools/mgmt-tester: Add test cases for load_long_term_keys command
This patch adds extra test cases for load_long_term_keys command.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Miao-chen Chou [Thu, 30 Sep 2021 22:37:30 +0000 (15:37 -0700)]
client: Print error code for connect methods
The following steps were performed.
- Issuing repeated commands to connect the same BLE device.
- Verifying the print in bluetoothctl console
Reviewed-by: Alain Michaud <alainm@chromium.org>
Reviewed-by: Howard Chung <howardchung@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Miao-chen Chou [Thu, 30 Sep 2021 22:37:28 +0000 (15:37 -0700)]
device: Include detailed error string in Connect() return
This replaces generic strerror message with context detailed error
string to better indicate the detailed failure reason so that the D-Bus
clients can optimize their application to work better with BlueZ, e.g.
introducing retry mechanism or building metrics.
Reviewed-by: Alain Michaud <alainm@chromium.org>
Reviewed-by: Howard Chung <howardchung@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Miao-chen Chou [Thu, 30 Sep 2021 22:37:26 +0000 (15:37 -0700)]
error: BR/EDR and LE connection failure reasons
The source of Connect() failures can be divided into the following
three.
- bluetoothd's device interface state transition and profile state
transition
- Kernel's L2CAP layer state transition
- Potential HCI error codes returned by the remote device
Reviewed-by: Alain Michaud <alainm@chromium.org>
Reviewed-by: Howard Chung <howardchung@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Miao-chen Chou [Thu, 30 Sep 2021 22:37:24 +0000 (15:37 -0700)]
doc: Add errors.txt to describe errors of D-Bus method returns
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Manish Mandlik [Wed, 22 Sep 2021 01:13:23 +0000 (18:13 -0700)]
adv_monitor: Mark the device as lost on device_lost_timeout
Mark the device as lost on device_lost_timeout so that it can be found
again next time.
Verified this by adding a monitor using bluetoothctl and confirming that
the DeviceLost event is getting triggered when bt peer stops advertising
and DeviceFound event gets triggered again when the bt peer restarts the
advertising.
Reviewed-by: Yun-Hao Chung <howardchung@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Dagan Martinez [Fri, 1 Oct 2021 14:17:18 +0000 (10:17 -0400)]
gatt: Allow GATT server to dicate CCC permissions
Allow a GATT server to impose write permissions/restrictions on a CCC by
setting additional `X-notify` and `X-indicate` flags on its associated
characteristic.
This allows a developer to require encryption/authentication in order
for a GATT client to subscribe to server-initiated updates.
```
[bluetooth]# register-characteristic\
4b75f0f8-1f23-46b1-900c-
5bbabcd5ca93 encrypt-read,encrypt-notify
[NEW] Characteristic (Handle 0x0000)
/org/bluez/app/service0/chrc17
4b75f0f8-1f23-46b1-900c-
5bbabcd5ca93
Vendor specific
[/org/bluez/app/service0/chrc17] Enter value: 42
```
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Dagan Martinez [Fri, 1 Oct 2021 14:17:19 +0000 (10:17 -0400)]
doc/gatt-api: Add 'X-notify`/`X-indicate`
Update docs to reflect the addition of the `X-notify` and `X-indicate`
characteristic flags, which allow a GATT server to restrict CCC write
permissions.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Tue, 28 Sep 2021 01:38:20 +0000 (18:38 -0700)]
tools/mgmt-tester: Add suspend/resume test cases
This patch adds the suspend/resume test cases:
Suspend/Resume - Success 1 (Suspend)
Suspend/Resume - Success 2 (Resume)
Suspend/Resume - Success 3 (Device in WL)
Suspend/Resume - Success 4 (Advertising)
Suspend/Resume - Success 5 (Pairing - Legacy)
Suspend/Resume - Success 6 (Pairing - SSP)
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 29 Sep 2021 21:00:49 +0000 (14:00 -0700)]
tools/mgmt-tester: Fix Read Experiemental Feature test case
The quality report feature is supported only if the device support it.
Current emulator/btdev doesn't support it yet.
This patch updates the supported experimental feature list to align with
the current btdev implementation.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>