Luiz Augusto von Dentz [Thu, 24 Jun 2021 23:32:04 +0000 (16:32 -0700)]
adapter: Fix storing discoverable setting
discoverable setting shall only be store when changed via Discoverable
property and not when discovery client set it as that be considered
temporary just for the lifetime of the discovery.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Hannu Mallat [Fri, 23 Jul 2021 13:58:24 +0000 (15:58 +0200)]
obexd: phonebook: Set default apparams for PTS clients
Some PTS clients do not send all the mandatory apparams
when retrieving the phonebook. Clients such as car multimedia systems
cannot be fixed, therefore working around this issue by inserting
default apparams which makes these clients work as well.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Dylan Van Assche [Fri, 23 Jul 2021 13:58:21 +0000 (15:58 +0200)]
obexd: phonebook-ebook: modernize
Modernize PBAP phonebook-ebook plugin for newer libebook version
of the Evolution Data Server.
The ebook plugin was introduced during GSoC 2011 [1] and allows
BlueZ to share contacts stored in the Evolution Data Server to
connected clients such as car multimedia systems.
With the rise of Mobile Linux thanks to the PinePhone and Librem 5,
this plugin was modernized to compile with newer libebook versions
because the API was changed [2].
[1] http://www.bluez.org/gsoc-eds-backend-of-phonebook-access-profilepbap/
[2] https://wiki.gnome.org/Apps/Evolution/ESourceMigrationGuide
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Joseph Hwang [Thu, 15 Jul 2021 09:50:18 +0000 (17:50 +0800)]
tools: btmgmt: support quality experiment feature command
This patch adds the "exp-quality" command to btmgmt to enable/disable
the Bluetooth quality report.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Joseph Hwang [Thu, 15 Jul 2021 09:50:17 +0000 (17:50 +0800)]
adapter: read quality report feature
This patch adds a new UUID for the quality report experimental
feature. When reading the experimental features, it checks if
the new feature is supported by the controller and stores the
value in the quality_report_supported flag of the adapter.
The quality_report_supported flag could be used by the bluetoothd
to determine if the quality report feature can be enabled.
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>
Joseph Hwang [Thu, 15 Jul 2021 09:50:16 +0000 (17:50 +0800)]
monitor: add new Intel extended telemetry events
This patch adds new Intel extended telemetry events for both ACL and
SCO/eSCO audio link quality reports.
For SCO/eSCO audio link quality report, it shows something like
> HCI Event: Vendor (0xff) plen 190 #120 [hci0] 2021-05-31 20:27:50.257
Vendor Prefix (0x8780)
Intel Extended Telemetry (0x87)
Extended Telemetry (0x80): SubOpcode (0x03)
Extended event type (0x01): Audio Link Quality Report Type(0x05)
SCO/eSCO connection handle (0x6a): 0x0101
Packets from host (0x6b): 399
Tx packets (0x6c): 403
Rx payload lost (0x6d): 3
Tx payload lost (0x6e): 0
Rx No SYNC errors (0x6f): 3 2 3 3 0
Rx HEC errors (0x70): 0 0 0 0 0
Rx CRC errors (0x71): 2 0 0 0 0
Rx NAK errors (0x72): 6 0 0 0 0
Failed Tx due to Wifi coex (0x73): 6 0 0 0 0
Failed Rx due to Wifi coex (0x74): 0 0 0 0 0
Late samples inserted based on CDC (0x75): 0
Samples dropped (0x76): 0
Mute samples sent at initial connection (0x77): 0
PLC injection data (0x78): 0
For ACL audio link quality report, it shows something like
> HCI Event: Vendor (0xff) plen 142 #120 [hci0] 2021-05-31 20:27:50.261
Vendor Prefix (0x8780)
Intel Extended Telemetry (0x87)
Extended Telemetry (0x80): SubOpcode (0x03)
Extended event type (0x01): Audio Link Quality Report Type(0x05)
ACL connection handle (0x4a): 0x0100
Rx HEC errors (0x4b): 0
Rx CRC errors (0x4c): 0
Packets from host (0x4d): 100
Tx packets (0x4e): 101
Tx packets 0 retries (0x4f): 89
Tx packets 1 retries (0x50): 11
Tx packets 2 retries (0x51): 1
Tx packets 3 retries (0x52): 0
Tx packets 4 retries and more (0x53): 0
Tx DH1 packets (0x54): 0
Tx DH3 packets (0x55): 0
Tx DH5 packets (0x56): 0
Tx 2DH1 packets (0x57): 0
Tx 2DH3 packets (0x58): 0
Tx 2DH5 packets (0x59): 0
Tx 3DH1 packets (0x5a): 6
Tx 3DH3 packets (0x5b): 0
Tx 3DH5 packets (0x5c): 94
Rx packets (0x5d): 272
ACL link throughput (KBps) (0x5e): 343815
ACL max packet latency (ms) (0x5f): 20625
ACL avg packet latency (ms) (0x60): 12
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>
Yun-Hao Chung [Tue, 20 Jul 2021 11:51:37 +0000 (19:51 +0800)]
core: fix a possible crash when removing devices
In probe_service, if the service already exists in device->services, it
returns the service. This might cause dev_probe and device_probe_profile
to add a duplicate service into device->services. When removing the
device, a double-free error might occur.
This patch changes the logic of probe_service so that the same service
will not be added to a device.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 16 Jul 2021 20:27:16 +0000 (13:27 -0700)]
btdev: Fix not checking conditions for LE Set Random Address
The spec says LE Set Random Address cannot be used when scan is enabled
or with legacy advertising:
BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 4, Part E
page 2480
'If the Host issues this command when any of advertising (created
using legacy advertising commands), scanning, or initiating are
enabled, the Controller shall return the error code Command
Disallowed (0x0C).'
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 14 Jul 2021 22:44:10 +0000 (15:44 -0700)]
btdev: Add proper checks for own_addr_type for LE scan/adv
own_addr_type 0x01 and 0x03 shall check that a random address has
properly been set:
BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 4, Part E
page 2496:
'If LE_Scan_Enable is set to 0x01, the scanning parameters'
Own_Address_Type parameter is set to 0x01 or 0x03, and the random
ddress for the device has not been initialized, the Controller shall
return the error code Invalid HCI Command Parameters (0x12).'
BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 4, Part E
page 2614:
'If Enable is set to 0x01, the scanning parameters' Own_Address_Type
parameter is set to 0x01 or 0x03, and the random address for the
device has not been initialized, the Controller shall return the
error code Invalid HCI Command Parameters (0x12).'
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Brian Gix [Wed, 14 Jul 2021 22:03:56 +0000 (15:03 -0700)]
tool/mgmt-tester: Add fail_tolerant exception
Race conditions with the cmd-sync changes can cause fail status codes to
be different than originally expected. New test parameter fail_tolerant
allows a trivial fail-code mismatches to "Pass" while also warning that
the status wasn't exactly as expected.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Brian Gix [Sat, 10 Jul 2021 00:38:01 +0000 (17:38 -0700)]
tool/mgmt-tester: Add test cases for Read Clock Information API
This patch adds test cases for Read Clock Information management API.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Sat, 10 Jul 2021 00:38:00 +0000 (17:38 -0700)]
emulator/btdev: Add support HCI_READ_CLOCK command
This patch adds support HCI_READ_CLOCK command in btdev.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Yun-Hao Chung [Wed, 14 Jul 2021 09:02:03 +0000 (17:02 +0800)]
a2dp: Fix crash in channel_free while waiting cmd resp
When channel_free is called and we are waiting for a command response
from the peer, bluez NULL the setup->session but would not free its
setup_cb. Since setup_cb holds a ref of setup, the setup wouldn't be
freed and if service_removed is called after channel_free, a2dp_cancel
tries to abort the ongoing avdtp commands, which accesses the
setup->session and triggers a crash.
This change finalizes all avdtp commands before assigning setup->session
to NULL in channel_free.
Crash stack trace:
0x000059f01943e688 (bluetoothd -avdtp.c:3690)
avdtp_abort
0x000059f01943928a (bluetoothd -a2dp.c:3069)
a2dp_cancel
0x000059f0194377fa (bluetoothd -sink.c:324)
sink_unregister
0x000059f01948715a (bluetoothd -service.c:177)
service_remove
0x000059f01948d77c (bluetoothd -device.c:5346)
device_remove
0x000059f019476d14 (bluetoothd -adapter.c:7202)
adapter_remove
0x000059f019476c3e (bluetoothd -adapter.c:10827)
adapter_cleanup
0x000059f01949d8d7 (bluetoothd -main.c:1114) main
0x0000787b36185d74 (libc.so.6 -libc-start.c:308)
__libc_start_main
0x000059f019433e39 (bluetoothd + 0x00026e39) _start
0x00007fff2d2c0127
Reviewed-by: Archie Pusaka <apusaka@chromium.org>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 9 Jul 2021 23:34:47 +0000 (16:34 -0700)]
btdev: Add proper checks for own_addr_type for extended advertising
own_addr_type 0x01 and 0x03 shall check that a random address has
properly been set and in case of 0x03 the resolving list actually
contains the irk of the identity address:
BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 4, Part E
page 2596
'If the advertising set's Own_Address_Type parameter is set to 0x01
and the random address for the advertising set has not been
initialized, the Controller shall return the error code Invalid HCI
Command Parameters (0x12).'
BLUETOOTH CORE SPECIFICATION Version 5.2 | Vol 4, Part E
page 2597
'If the advertising set's Own_Address_Type parameter is set to 0x03,
the controller's resolving list did not contain a matching entry, and
the random address for the advertising set has not been initialized,
the Controller shall return the error code Invalid HCI Command
Parameters (0x12).'
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Yun-Hao Chung [Mon, 28 Jun 2021 03:35:42 +0000 (11:35 +0800)]
src/adv_monitor: Remove checking in device lost timeout
The time check in device lost timeout could cause DeviceLost never being
reported because of the following reasons:
1. Timer created in timeout_add_seconds, which calls
g_timeout_add_seconds_full internally, can be fired one second
earlier than |timeout| seconds.
2. When handle_device_lost_timeout is invoked early, time diff between
|curr_time| and |last_seen| could be less than |low_rssi_timeout|. In
this case, since handle_device_lost always returns FALSE, the
timer will be removed, but DeviceLost has not been reported yet.
3. If we never receives any advertisement from that peer since then,
DeviceLost will never be reported.
We can remove the checking in handle_device_lost_time because we restart
or remove the timer whenever an advertisement is received.
Reviewed-by: apusaka@chromium.org
Reviewed-by: mcchou@chromium.org
Reviewed-by: mmandlik@chromium.org
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Marcel Holtmann [Wed, 7 Jul 2021 13:42:45 +0000 (15:42 +0200)]
Release 5.60
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
João Paulo Rechi Vita [Fri, 11 Jun 2021 02:06:49 +0000 (19:06 -0700)]
profile: Fail RegisterProfile if UUID already exists
If a process tries to register a profile implementation that is already
registered, RegisterProfile should fail.
This should help address issues when two instances of PulseAudio are
running at the same time, and the second instance tries to register an
audio profile implementation that has already been registered by the
first instance. Two situations where this may happen is when more than
one user is logged in, or during the transition between the GDM session
and the user session, when PulseAudio gets started on the new session
before the old session has been fully terminated.
https://gitlab.freedesktop.org/pulseaudio/pulseaudio/-/issues/303
https://gitlab.gnome.org/GNOME/gdm/-/issues/486
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Sat, 26 Jun 2021 06:30:09 +0000 (23:30 -0700)]
emulator/btdev: clean up the queue before closing the test
This patch clean up the queue for connection before closing the test to
prevent the potential memory leak.
==50== 32 bytes in 1 blocks are definitely lost in loss record 18 of 32
==50== at 0x483A809: malloc (vg_replace_malloc.c:307)
==50== by 0x14A37E: btd_malloc (util.c:33)
==50== by 0x149D9D: queue_new (queue.c:47)
==50== by 0x13B3C0: btdev_create (btdev.c:6042)
==50== by 0x13178E: create_vhci (hciemu.c:229)
==50== by 0x13178E: hciemu_new_num (hciemu.c:403)
==50== by 0x130E2C: read_index_list_callback (mgmt-tester.c:357)
==50== by 0x14AD91: request_complete (mgmt.c:264)
==50== by 0x14BD34: can_read_data (mgmt.c:356)
==50== by 0x14E794: watch_callback (io-glib.c:157)
==50== by 0x48B578E: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.6400.6)
==50== by 0x48B5B17: ??? (in /usr/lib64/libglib-2.0.so.0.6400.6)
==50== by 0x48B5E32: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.6400.6)
==50==
==50== 32 bytes in 1 blocks are definitely lost in loss record 19 of 32
==50== at 0x483A809: malloc (vg_replace_malloc.c:307)
==50== by 0x14A37E: btd_malloc (util.c:33)
==50== by 0x149D9D: queue_new (queue.c:47)
==50== by 0x13B3C0: btdev_create (btdev.c:6042)
==50== by 0x1318F7: hciemu_client_new (hciemu.c:332)
==50== by 0x1318F7: hciemu_new_num (hciemu.c:412)
==50== by 0x130E2C: read_index_list_callback (mgmt-tester.c:357)
==50== by 0x14AD91: request_complete (mgmt.c:264)
==50== by 0x14BD34: can_read_data (mgmt.c:356)
==50== by 0x14E794: watch_callback (io-glib.c:157)
==50== by 0x48B578E: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.6400.6)
==50== by 0x48B5B17: ??? (in /usr/lib64/libglib-2.0.so.0.6400.6)
==50== by 0x48B5E32: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.6400.6)
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 28 Jun 2021 20:43:03 +0000 (13:43 -0700)]
test-runner: Use src/main.conf if available
This makes use of src/main.conf as configuration file that way custom
options can be applied while running the daemon.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Howard Chung [Mon, 28 Dec 2020 06:22:36 +0000 (14:22 +0800)]
shared/gatt-client: Fix GATT client attribute read with offset
bluez always replies the whole value despite a user specify the offset.
This patch fixes the issue.
Reviewed-by: 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 [Thu, 24 Jun 2021 22:01:50 +0000 (15:01 -0700)]
adapter: Fix toggling of experimental features
When toggling experimental features it may cause the old value to still
be in effect since it was read after read info which upon completion
would attempt to call adapter_register without first updating the
experimental features which could affect the likes of advertising
instances when LL Privacy is enabled.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
David Lechner [Thu, 24 Jun 2021 17:44:01 +0000 (12:44 -0500)]
doc/advmon-api: Clarify Patterns property
The Patterns property description was not as clear as it could be. This
expands the text a bit, replaces the C enum value 0x01 with the D-Bus
property string value "or_patterns" and improves the grammar in a few
places.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Manish Mandlik [Fri, 18 Jun 2021 04:58:06 +0000 (21:58 -0700)]
adv_monitor: Avoid skipping non-discoverable dev on Monitor match
Do no skip a non-discoverable device if it matches any Advertisement
Monitor.
Reviewed-by: mcchou@google.com
Reviewed-by: alainmichaud@google.com
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 23 Jun 2021 22:42:39 +0000 (15:42 -0700)]
media: Fix UnregisterApplication
UnregisterApplication is not doing anything since the apps queue is
never initialized which results in not finding any application when
unregistering.
Fixes: https://github.com/bluez/bluez/issues/126
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Benjamin Berg [Mon, 3 May 2021 13:12:10 +0000 (15:12 +0200)]
rfkill: Fix reading from rfkill socket
The kernel will always send exactly one event, but the size of the
passed struct will depend on the length of the submitted read() and the
kernel version. i.e. the interface can be extended and we need to expect
for a read to be longer than expected if we ask for it.
Fix this by only requesting the needed length and explicitly check the
length against the V1 version of the structure to make the code a bit
more future proof in case the internal copy of the struct is updated to
contain new fields.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 23 Jun 2021 04:49:44 +0000 (21:49 -0700)]
tools/mgmt-tester: Update to support multiple extended adv instances
This patch updates to align with the multiple extended advertising
support.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 23 Jun 2021 04:49:43 +0000 (21:49 -0700)]
emulator/bthost: Create ext adv params before setting adv data
Based on the SPEC 5.2 Vol 4, Part E, Section 7.8.54, the
LE_Set_Extended_Advertising_Data_Command may be issued after an
advertising set identifed by the Advertising_Handle has been created
using the HCI_LE_Set_Extended_Advertising_Parameters command.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 23 Jun 2021 04:49:42 +0000 (21:49 -0700)]
emulator/btdev: Add support HCI LE Adv Set Terminated event
This patch adds support the HCI_LE_Advertising_Set_Terminated event in
btdev.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 23 Jun 2021 04:49:41 +0000 (21:49 -0700)]
emulator/btdev: Add support multiple instance of extended advertising
This patch adds support multiple instance of extended advertising.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 23 Jun 2021 04:49:40 +0000 (21:49 -0700)]
tools/mgmt-tester: Enable High-Speed(HS) test cases
This patch enables the BT High-Speed(HS) test cases by enabling the HS
in the kernel config.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 18 Jun 2021 17:09:14 +0000 (10:09 -0700)]
device: Fix enabling temporary timer when TemporaryTimeout=0
When TemporaryTimeout is set to 0 it is supposed to disable the
temporary timeout so devices never desappear.
Fixes: https://github.com/bluez/bluez/issues/146
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Thu, 17 Jun 2021 00:53:34 +0000 (08:53 +0800)]
avdtp: Fix parsing capabilities
This patch fixes size comparison and variable misassignment.
Reviewed-by: Alain Michaud <alainm@chromium.org>
Reviewed-by: Michael Sun <michaelfsun@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Alain Michaud [Wed, 16 Jun 2021 12:42:29 +0000 (12:42 +0000)]
monitor: Adding missing device found flag in the parser
A new flag was added to the kernel implementation of the Device Found
event, but had not been added to the parser leading to an "Unknown device
flag" error in btmon.
Reviewed-by: Yu Liu <yudiliu@google.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Sebastian Urban [Fri, 11 Jun 2021 12:30:21 +0000 (14:30 +0200)]
gatt-client: Check length of notify multiple op
Check that specfied length of value in received data does not exceed
length of PDU. Otherwise data may be read from beyond the end of the
buffer.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 16 Jun 2021 15:18:40 +0000 (08:18 -0700)]
mgmt-tester: Fix typo
This fixes debup typo.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 15 Jun 2021 22:30:15 +0000 (15:30 -0700)]
monitor: Fix typos
This fixes interval typos.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Marcel Holtmann [Tue, 15 Jun 2021 20:12:16 +0000 (22:12 +0200)]
doc: Add initial draft of security bugs handling document
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Sebastian Urban [Sat, 12 Jun 2021 09:56:01 +0000 (11:56 +0200)]
gatt-database: No multiple calls to AcquireWrite
This checks if an outstanding call to AcquireWrite is already in
progress. If so, the write request is placed into the queue, but
AcquireWrite is not called again. When a response to AcquireWrite is
received, acquire_write_reply sends all queued writes over the acquired
socket.
Making multiple simultaneous calls to AcquireWrite makes no sense,
as this would open multiple socket pairs and only the last returned
socket would be used for further writes.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Sebastian Urban [Sun, 13 Jun 2021 10:39:18 +0000 (12:39 +0200)]
gatt-server: Flush notify multiple buffer when full and fix overflow
This fixes the calculation of available buffer space in
bt_gatt_server_send_notification and sends pending notifications
immediately when there is no more room to add a notification.
Previously there was a buffer overflow caused by incorrect calculation
of available buffer space: data->offset can equal data->len
from a previous call to this function, leading
(data->len - data->offset) to underflow after data->offset += 2.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 14 Jun 2021 17:24:01 +0000 (10:24 -0700)]
mgmt-tester: Enable Kernel Debug Experimental Feature
This attempts to enable Kernel Debug Experimental Feature if debug is
enabled.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Marcel Holtmann [Sun, 13 Jun 2021 19:55:15 +0000 (21:55 +0200)]
Release 5.59
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Marcel Holtmann [Sun, 13 Jun 2021 19:53:35 +0000 (21:53 +0200)]
Revert "doc/mgmt-api - Add a new error code for HCI status 0x3e"
This reverts commit
9ad67264d97b882fa58391982ecb5b003368fef0.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 9 Jun 2021 21:22:42 +0000 (14:22 -0700)]
mgmt-tester: Fix adding padding for Ext Adv (Scan Response) Data
These commands are actually of variable size so they don't expect
padding like in the non-extended version.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 7 Jun 2021 17:43:59 +0000 (10:43 -0700)]
btdev: Check advertising/scanning states when changing Resolving List
Resolving List cannot be changed when advertising/scanning:
• Advertising (other than periodic advertising) is enabled,
• Scanning is enabled, or
• an HCI_LE_Create_Connection, HCI_LE_Extended_Create_Connection, or
HCI_LE_Periodic_Advertising_Create_Sync command is outstanding.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 7 Jun 2021 17:34:29 +0000 (10:34 -0700)]
btdev: Check advertising/scanning states when changing White List
White List cannot be changed when advertising/scanning:
• any advertising filter policy uses the White List and advertising is
enabled,
• the scanning filter policy uses the White List and scanning is
enabled, or
• the initiator filter policy uses the White List and an
HCI_LE_Create_Connection or HCI_LE_Extended_Create_Connection
command is outstanding.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 4 Jun 2021 23:26:28 +0000 (16:26 -0700)]
btdev: Remove debugs
Remove left-over util_debugs.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Inga Stotland [Fri, 4 Jun 2021 17:59:13 +0000 (10:59 -0700)]
tools/mgmt-tester: Fix expected HCI command accounting
This fixes test condition count in the expected HCI command
callback.
When the expected HCI opcode is detected, mark the condition
as done. Any subsequent HCI commands are ignored.
Without this fix, in couple of test cases where the expected HCI
command is detected more than once, the test may be erroneously
reported as a failure or prematurely declared as a success before
waiting on an expected MGMT event condition.
The test cases where this behavior is fixed:
Remove Ext Advertising - Success 1
Remove Ext Advertising - Success 2
Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 4 Jun 2021 21:28:38 +0000 (14:28 -0700)]
shared/mgmt: Fix not processing request queue
If the kernel returns an invalid opcode like below the request won't
be processed making it unusable:
@ MGMT Command: Read Advertising Features (0x003d) plen 0
{0x0001} [hci0] 14:25:11.096370
@ MGMT Event: Command Status (0x0002) plen 3
{0x0001} [hci0] 14:25:11.096373
Set Advertising (0x0029)
Status: Not Supported (0x0c)
In order to fix this attempts to remove the first request pending on the
given index:
= bluetoothd: src/advertising.c:read_adv_features_callback() Failed to
read advertising features: Not Supported (0x0c)
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 4 Jun 2021 19:16:23 +0000 (12:16 -0700)]
btdev: Fix handling of white/resolving list
le_cig.cis entries was not properly checked which could lead to
overwriting le_wl/le_rl field.
While at it this also makes changes so have proper struct/fields for
le_wl and le_rl so they easier to manage.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 4 Jun 2021 00:07:26 +0000 (17:07 -0700)]
btdev: Fix crash when generating disconnected event for BIS
When generating disconnected event for a BIS it would not have any
link as the ISO is in fact we are broadcasting and don't have an ACL.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Inga Stotland [Thu, 3 Jun 2021 00:04:16 +0000 (17:04 -0700)]
tools/mgmt-tester: Add setup condition to resolve list
This adds expected setup HCI command condition to
"Start Discovery - Disable Resolve List" case.
Check that on setup HCI command Set LE Resolve Enable is complete
with "enable" parameter set to 1.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Inga Stotland [Thu, 3 Jun 2021 00:04:15 +0000 (17:04 -0700)]
tools/mgmt-tester: Adjust test setup complete check
This changes check for setup complete in client_cmd_complete() callback
from tester_setup_complete() to test_setup_condition_complete(). This
allows for combining setup conditions when setup_bthost() is called.
Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Tue, 1 Jun 2021 20:49:18 +0000 (13:49 -0700)]
tools/mgmt-tester: Add tests for whitelist and resolving list
This patch adds test cases for checking the whitelist and resolving list
HCI commands when the LL Privacy feature is enabled.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Tue, 1 Jun 2021 20:49:17 +0000 (13:49 -0700)]
tools/mgmt-tester: Add tests for experimental feature command
This patch adds test cases for Read/Set Experimenal Feature commands.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Tue, 1 Jun 2021 20:49:16 +0000 (13:49 -0700)]
emulator/btdev: Enable LE Privacy feature
This patch enables LE Privacy to support LL Privacy feature.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 26 May 2021 05:13:10 +0000 (22:13 -0700)]
tools/mgmt-tester: Add test cases for get/set device flags
This patch adds test cases for get/set device flags commands.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 26 May 2021 05:13:09 +0000 (22:13 -0700)]
tools/mgmt-tester: Print hexdump if mgmt event parameters not match
This patch displays the hexdump of expected and received mgmt event
parameters.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 26 May 2021 05:13:08 +0000 (22:13 -0700)]
lib: Align mgmt header with document
This patch updates the mgmt header to align with the mgmt api document
(doc/mgmt-api.txt)
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 26 May 2021 05:13:07 +0000 (22:13 -0700)]
tools/btmgmt: Add device flags commands
This patch adds commands for get/set device flags mgmt ops.
Usage:
get-flags [-t type] <address>
-t type Address Type
0 BR/EDR
1 LE Public
2 LE Random
set-flags [-f flags] [-t type] <address>
-t type Address Type
0 BR/EDR
1 LE Public
2 LE Random
-f flags Device flag.
1 Remote Wake Enable
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 24 May 2021 23:00:08 +0000 (16:00 -0700)]
mgmt: Add missing opcodes to mgmt_op
This adds the missing opcodes to mgmt_op so they are properly decoded.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Wed, 19 May 2021 08:21:14 +0000 (16:21 +0800)]
lib/uuid: Fix string to uuid32 conversion
Use strtoul to prevent 32 bit overflow
Reviewed-by: Yun-Hao Chung <howardchung@chromium.org>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Yun-Hao Chung [Mon, 24 May 2021 02:43:37 +0000 (10:43 +0800)]
core: Add RSSI sampling period in system parameter
Add an option in main.conf to configure the default RSSI sampling
period for advertisement monitor.
Reviewed-by: apusaka@chromium.org
Reviewed-by: mmandlik@chromium.org
Reviewed-by: mcchou@chromium.org
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Inga Stotland [Wed, 19 May 2021 21:19:07 +0000 (14:19 -0700)]
tools/mgmt-tester: Fix "Remove Ext Advertising" case
This fixes the expected behavior of the following test case:
"Remove Ext Advertising - Success 1", when the fail status
was erroneously overwritten with success:
<log snip>
New Advertising Removed event received
Test condition complete, 2 left
HCI Command 0x2039 length 6
Invalid parameter size for HCI command
Remove Ext Advertising - Success 1 - test failed
HCI Command 0x203c length 1
HCI Command 0x2039 length 2
Test condition complete, 1 left
Remove Advertising (0x003f): Success (0x00)
Test condition complete, 0 left
Remove Ext Advertising - Success 1 - test passed
The expected HCI command to disable extended advertisement for a
non-zero number of sets should contain the specified number the
advertising sets.
In this particular test case, number of sets is set to 1 and,
as a result, the expected HCI command should be:
"00 | 01 | 01 00 00 00"
disable | number of sets | set info
Also, to avoid false positives/negatives, skip exmination of HCI
commands after the test conditions are met.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Huang-Huang Bao [Thu, 20 May 2021 09:22:00 +0000 (17:22 +0800)]
avrcp: Fix unregister AVRCP player
'notify_addressed_player_changed()' expected to be called with
'player->changed_id' set to a non-zero value.
player->changed_id = g_idle_add(notify_addressed_player_changed,
player);
And 'avrcp_player_event()' relies on 'player->changed_id' to perform
Addressed Player Changed notification. However,
'avrcp_unregister_player()' calls 'notify_addressed_player_changed()'
without adding it to the main loop and set 'player->changed_id'. To
indicate addreddsed player changed for both scenarios, we set
'player->changed_id' to 1 at the head of
'notify_addressed_player_changed()'.
Fixes https://github.com/bluez/bluez/issues/142
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Fri, 21 May 2021 17:04:07 +0000 (10:04 -0700)]
src/main: Fix double free str
This patch fixes the double free the string.
The string variable is always freed within its if statement so no need
to free it again in the end.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Fri, 21 May 2021 06:24:41 +0000 (23:24 -0700)]
tools/mgmt-tester: Add test cases for remove uuid command
This patch adds test cases for the Remove UUID command.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Fri, 21 May 2021 06:24:40 +0000 (23:24 -0700)]
tools/mgmt-tester: Add test cases for set device id command
This patch adds test cases for the Set Device ID command.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Marcel Holtmann [Wed, 19 May 2021 22:40:53 +0000 (00:40 +0200)]
monitor: Decode MSFT LE Monitor Advertisement
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Brian Gix [Wed, 19 May 2021 19:00:45 +0000 (12:00 -0700)]
mesh: Fix race condition memory leak
This is a minor fix of a memory leak triggered on process exit if
proceess has been killed right after requesting an outbound
advertisement be sent. It is harmless, but will cause an occasional
static analysis failure.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Brian Gix [Wed, 19 May 2021 18:15:36 +0000 (11:15 -0700)]
mesh: Add single threading to prov-acp ob messaging
Certain IOP and stress testing scenarios can cause additional outbound
messages to be attempted before the prior outbound message completes.
This patch adds queuing if outbpund messages are attempted too quickly
so that the additional message is not sent until the prior message is
ACKed.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Brian Gix [Wed, 19 May 2021 00:03:42 +0000 (17:03 -0700)]
test/mesh: Add support for testing more OOB auth
To pass IOP testing, we need to be able to support Input OOB and Out of
band Public Key exchange, This patch adds agent methods to support
those capabilities, but are turned off because the test code uses
insecure fixed values instead of randomized values.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Brian Gix [Tue, 18 May 2021 23:35:32 +0000 (16:35 -0700)]
tools/mesh: Add all supported OOB methods to cfgclient
To support the widest range of mesh devices, we need to support any
possible capability combinations that a remote device may request.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Brian Gix [Tue, 18 May 2021 23:23:39 +0000 (16:23 -0700)]
mesh: Normalize endian of public/private ECC keys
The Mesh profile specification defines a Mesh byte order of Big Endian
for Public keys used to calculate shared secrets. Further the
specification sample data also show this same byte order for Private
keys. However, our internal ECDH shared secret calculation requires
Little Endian byte ordering. This fixes our DBus interface, and
debugging output to use Mesh Byte Ordering (Big Endian) for all human
readable input/output.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Brian Gix [Tue, 18 May 2021 23:08:14 +0000 (16:08 -0700)]
mesh: Fix delivery of PB-ACK to acceptors
Remove unneeded initialization that prevented the Acceptor roll of ever
recognizing a valid PB-ACK.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Inga Stotland [Mon, 17 May 2021 05:23:57 +0000 (22:23 -0700)]
mesh: Add manpage for bluetooth-meshd daemon
This adds manpage with a brief description of BLuettoth Mesh daemon
command line options.
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Yun-Hao Chung [Fri, 7 May 2021 04:32:57 +0000 (12:32 +0800)]
core: Fix loading AVDTP options
Fix misassigned AVDTP StreamMode option, which causes StreamMode not
being set.
Fix AVDTP SessionMode option not freed.
Reviewed-by: mmandlik@chromium.org
Reviewed-by: apusaka@chromium.org
Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com>
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Steve Grubb [Sat, 15 May 2021 13:43:07 +0000 (09:43 -0400)]
Fix memory leaks in obex
This patch fixes a couple memory leaks.
In filesystem, g_file_get_contents allocates fresh memory to buf.
It needs to be freed after conversion to a GString object.
Destination was missed on an error path as is mld.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 18 May 2021 21:13:30 +0000 (14:13 -0700)]
core: Enable experimental MGMT when experimental is set
This enables experimental MGMT features when experimental has been set.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 18 May 2021 18:36:20 +0000 (11:36 -0700)]
btmon: Use bt_uuid128_to_str when printing UUIDs of 128 bits
This ensures that know UUIDs names are printed including those used by
experimental features.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 18 May 2021 18:17:07 +0000 (11:17 -0700)]
shared/util: Decode BlueZ experimental UUIDs
This adds BlueZ experimental UUIDs to uuid128_table so they are
decoded by the likes of btmon.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 18 May 2021 18:04:25 +0000 (11:04 -0700)]
shared/util: Add bt_uuid128_to_str
This adds bt_uuid128_to_str which can be used to convert UUID 128 bit
binary format into string.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 17 May 2021 21:21:33 +0000 (14:21 -0700)]
btdev: Add resolving list support
This adds support for commands related to resolving list.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 17 May 2021 17:36:51 +0000 (10:36 -0700)]
btdev: Add support for Add/Remove White List
This adds support for Add to/Remove from White List.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 14 May 2021 22:10:26 +0000 (15:10 -0700)]
client: Fix advertise broadcast
When advertising with type broadcast it cannot be discoverable as that
would require setting flags which is not allowed by the spec.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 14 May 2021 21:07:42 +0000 (14:07 -0700)]
main.conf: Add option to enable experimental features
The adds options Experimental which is the equivalent to
-E/--experimental command line option.
Fixes https://github.com/bluez/bluez/issues/132
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Steve Grubb [Fri, 14 May 2021 14:01:17 +0000 (10:01 -0400)]
tools: Fix memory leaks
req is allocated memory that must be freed. It appears all other error
paths got fail which handles this.
g_new0 allocates memory to data which must be freed.
g_malloc0 allocates memory to comp which must be freed.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Steve Grubb [Fri, 14 May 2021 14:00:42 +0000 (10:00 -0400)]
core: Fix memory leaks
g_key_file_get_string allocates memory that must be freed.
asprintf allocates memory that must be freed.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Steve Grubb [Fri, 14 May 2021 14:00:09 +0000 (10:00 -0400)]
profile: Fix memory leaks
g_new0 allocates memory that must be freed
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Steve Grubb [Fri, 14 May 2021 13:59:38 +0000 (09:59 -0400)]
plugin: Fix memory leaks
g_file_get_contents allocates memory. It needs to be freed on any
function exit.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Steve Grubb [Fri, 14 May 2021 13:58:07 +0000 (09:58 -0400)]
mesh: Fix memory leaks
The dir variable needs to be closed before leaving.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Yun-Hao Chung [Wed, 12 May 2021 02:36:06 +0000 (10:36 +0800)]
monitor: Fix possible crash of rfcomm packet
When RFCOMM_TEST_EA returns false, btmon assumes packet data has at
least 5 bytes long. If that assumption fails, btmon could crash when
trying to read the next byte.
This patch fix it by checking the remaining size before reading the last
byte.
Reviewed-by: apusaka@chromium.org
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Sathish Narasimman [Tue, 4 May 2021 11:14:54 +0000 (16:44 +0530)]
btmgmt: Fix enable adding irk when turining privacy on
Unable to add the IRK in btmgmt when need to be updated. The option is
enabled now.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Inga Stotland [Thu, 13 May 2021 00:39:09 +0000 (17:39 -0700)]
shared/shell: Print help info for individual commands
For menus with long list of entries, it is useful to be able invoke
help message for an individual entry to look up command description and
synopsis.
Can be invoked by entering "<command> help" or "<command> --help".
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 13 May 2021 16:43:36 +0000 (09:43 -0700)]
btdev: Fix crashing if ISO link is in fact a BIS
BIS doesn't not have necessarily needs a link if there is no sync in
place.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Thu, 13 May 2021 00:18:13 +0000 (17:18 -0700)]
client/advertising: Add support for setting min/max intervals
This adds support for setting MinInterval/MaxInterval.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Inga Stotland [Thu, 13 May 2021 06:15:16 +0000 (23:15 -0700)]
mesh: Add missing "storage" option to help menu
This adds a previously missing entry for "storage" option
when printing the daemon usage info.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Fri, 7 May 2021 00:56:30 +0000 (17:56 -0700)]
monitor: Remove Pygments dependency from manpage
This patch removes the Pygments dependency from btmon .rst file.
When the code-block type is specified, the rst2man throws a warning
asking for Pygments package.
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 10 May 2021 18:06:19 +0000 (11:06 -0700)]
btdev: Mark LE Periodic Advertising bit as supported
This enables LE Periodic Advertising bit on LE Read Local Supported
Features:
> HCI Event: Command Complete (0x0e) plen 12
LE Read Local Supported Features (0x08|0x0003) ncmd 1
Status: Success (0x00)
Features: 0x00 0x39 0x00 0xf0 0x01 0x00 0x00 0x00
LE 2M PHY
LE Coded PHY
LE Extended Advertising
LE Periodic Advertising
Connected Isochronous Stream - Master
Connected Isochronous Stream - Slave
Isochronous Broadcaster
Synchronized Receiver
Isochronous Channels (Host Support)
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 5 May 2021 18:44:05 +0000 (11:44 -0700)]
build: Add generated manpages to distribute list
This patch adds generated manpages to the distribution list.
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Archie Pusaka [Thu, 6 May 2021 03:42:55 +0000 (11:42 +0800)]
build: Make test-gobex* depend on OBEX flag
If obex is disabled in the config, running gobex test is unnecessary.
This patch skips gobex tests if obex is disabled.
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>