Wootak Jung [Tue, 4 Jun 2024 07:36:12 +0000 (16:36 +0900)]
audio/transport: Disable set_volume functionality in DA product
Change-Id: Ibca427f5f6824878c0a615f6792a90139b59993a
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Tue, 4 Jun 2024 07:15:21 +0000 (16:15 +0900)]
Add new DA model names
AI Home Smart EHS
Smart Oven
Smart AC
AI Vision Refrigerator
Change-Id: Iddcee26408bf55ac9eba816475ce82046c2ae95c
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Sameer Kumar [Fri, 24 May 2024 10:21:54 +0000 (15:51 +0530)]
Get local IRK value
This patch adds support to get local IRK value.
Change-Id: Iae9293c6d93688d8b9a6672bdaf2261c41668a9f
Signed-off-by: Sameer Kumar <sameer.kumar@samsung.com>
Wootak Jung [Tue, 21 May 2024 08:18:59 +0000 (17:18 +0900)]
Revert "Fix crash issue when destroying notify io"
This reverts commit
50734b06177e2160c3309dfc3aad3aed9b766e39.
Change-Id: I1f0a72a0806df969ff011151e278af09c213164d
Wootak Jung [Tue, 21 May 2024 02:52:31 +0000 (11:52 +0900)]
Fix crash issue
0 0xaae6c8da in notify_io_destroy (data=0xac2cbcb0) at src/gatt-client.c:1698
1698 DBG("notify_io destroyed. length: %d", queue_length(client->chrc->notify_clients));
(gdb) info args
data = 0xac2cbcb0
(gdb) p client
$1 = (struct notify_client *) 0xac2cbcb0
(gdb) p *client
$2 = {chrc = 0x0, ref_count = 0, owner = 0x0, watch = 0, notify_id = 56}
$1 = (struct notify_client *) 0x55a1388d20
(gdb)
$2 = (struct notify_client *) 0x55a1388d20
(gdb) p *client
p *client
$3 = {chrc = 0x1, ref_count = 0, owner = 0x0, watch = 0, notify_id = 0}
Change-Id: Icb84e5995d7a2cd5ce1447d075a30ce1cc1a2f2f
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Thu, 16 May 2024 02:00:26 +0000 (11:00 +0900)]
Fix crash issue when destroying notify io
0 0x0000005592375a48 in notify_io_destroy (data=0x55a1388d20) at src/gatt-client.c:1692 --> bluez (rpm)
1 0x0000005592373420 in sock_io_destroy (io=0x55a137df70) at src/gatt-client.c:1195 --> bluez (rpm)
2 0x0000005592377900 in characteristic_free (data=0x55a1384570) at src/gatt-client.c:2015 --> bluez (rpm)
Revert "Allow AcquireNotify without CCC"
This reverts commit
4c19ca3b4973feea3e663e3bbd7483d71cb9dabb.
Change-Id: If23642af016fe507c1b14a7b26acb515faf5b894
Sohyeon Choi [Sun, 7 Apr 2024 14:11:32 +0000 (23:11 +0900)]
device: Set disconnect timer to zero for fast disconnection
Change-Id: I8d6d3741b05abb9c2f5a18a34eb197f9a924d149
Luiz Augusto von Dentz [Mon, 24 Jul 2023 20:57:34 +0000 (13:57 -0700)]
gatt: Fix not establishing a socket for each device
AcquireWrite and AcquireNotify shall establish a socket pair for each
device connected otherwise the application cannot distinct the
operations of each client.
Fixes: https://github.com/bluez/bluez/issues/460
Change-Id: I41e63c8ac8164205c43612670ed1cd5d0d09e147
Wootak Jung [Fri, 29 Mar 2024 05:19:06 +0000 (14:19 +0900)]
avdtp: Modify disconnect timer for Buds2
Change-Id: Id5f88e3636b80cd222e9c75469ef7c5cea78cd57
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Thu, 28 Mar 2024 23:53:25 +0000 (08:53 +0900)]
device: Fix issue where the connection was not completely released when coc disconnected
Change-Id: Ia2cbcea8a3a30a14426645b61631d9fea217c185
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Anuj Jain [Wed, 27 Mar 2024 10:27:52 +0000 (15:57 +0530)]
Add timeout logic for le coc connection request
This patch adds 10 sec timeout upon receiving l2cap_le
connection request.
Change-Id: Id4cf266603e64eab8685325f218b1180c9c5b125
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Wootak Jung [Wed, 20 Mar 2024 23:02:02 +0000 (08:02 +0900)]
device: Modify DA specific logic
Change-Id: Ic8d04b2c3c8e45b2a1c5aa86ae7aab6535f75ecd
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Sun, 17 Mar 2024 22:42:11 +0000 (07:42 +0900)]
Revert "Apply DA model specification"
This reverts commit
936def7977917acff76828c02a080d91ecb26b95.
Change-Id: I3741d5136b021a681c0453b47889040ab34d1b6e
Wootak Jung [Thu, 7 Mar 2024 23:35:40 +0000 (08:35 +0900)]
gatt-client: Add debug logs
Change-Id: Id46df448a9bf77b00ae6168dd04b0e4f38fa3ebe
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Thu, 29 Feb 2024 02:18:14 +0000 (11:18 +0900)]
device: Add DA logic to restrict the connection to only one mobile device
Change-Id: Ibd4e485a594b2644ef5ab89de8e559a766480cf0
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Tue, 13 Feb 2024 00:21:11 +0000 (09:21 +0900)]
Apply DA model specification
Disable A2DP/AVRCP profiles
Change-Id: Ie20002629367c9383973dba6f900425aa0e9a763
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Wed, 17 Jan 2024 04:14:29 +0000 (13:14 +0900)]
main_da.conf: Update ReconnectUUIDs and ReconnectAttempts for the DA model
Change-Id: I4144ccafaa7b3cff83d960c055be81aed06f8798
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Tue, 16 Jan 2024 03:53:35 +0000 (12:53 +0900)]
Fix issue of not reconnecting when disconnected due to timeout
Change-Id: I0f263370df9c22d8fdc98ceb33bc1e364b828ba8
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Thu, 11 Jan 2024 00:09:19 +0000 (09:09 +0900)]
adapter: Fix issue where adv stop request disables unintended instance
Reproduction steps:
1. adv1, adv2 are in progress
2. LE connected and adv2 has stopped for a while and is scheduled(timer) to restart
3. adv1 stop request before restart timer is run
4. timer is removed and adv1 is stopped
5. adv2 is not restarted even though it should
Change-Id: I5d2f7a2ae87d87d180e92f380505e8118fc973b0
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Thu, 28 Dec 2023 00:12:59 +0000 (09:12 +0900)]
adapter: Fix issue where the adv restart logic operates even though adv stop is requested
Fix the adv restart logic to only operate when adv is enabled
Change-Id: I9aebdc393050b6c7b3674281ffd801c6db18f14c
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Tue, 12 Dec 2023 02:17:48 +0000 (11:17 +0900)]
gdbus/object: Fix issue where the 'Powered' property changed was not emitted
property changed should be emitted after interface is published.
Change-Id: Ibaf34eec7e804a0943e8647285c8da28ef65571a
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Mon, 11 Dec 2023 01:27:49 +0000 (10:27 +0900)]
shared/att: Fix mtu not updated issue
Reproduction steps:
1. gatt connected
2. request to the remote with mtu 517
3. when getting mtu, 517 returned
4. mtu 512 changed received from the remote
5. when getting mtu, 517 returned. (Should be 512)
Change-Id: Ic2c6b19690d7da7572762083ab9577cb3b9e0e97
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Fri, 8 Dec 2023 00:41:55 +0000 (09:41 +0900)]
Add new DA model name
AI Hub Smart EHS
Change-Id: I631ffa40c73041c6ad4aab1f47859a7c0a5c8fd9
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Fri, 8 Dec 2023 00:34:01 +0000 (00:34 +0000)]
Merge "Add support for A2DP source and sink both role" into tizen_7.0
Wootak Jung [Tue, 28 Nov 2023 05:51:49 +0000 (14:51 +0900)]
Fix the security vulnerability issue
A variant of this attack works when bluetoothctl shows that bluetooth is
discoverable, pariable, and discovering (only a subset may be necessary). On
Ubuntu 22.04 Desktop this becomes true when the GNOME panel for
bluetooth settings is opened.
BlueZ's setting ClassicBondedOnly=true prevents this attack.
This parameter is not enabled in CVE-2020-0556 patches and all distros
I checked have not opted into this setting. Most members of the distros list
are likely affected.
Change-Id: Ib4883d1766d314bcd415308a9e4805e196462f3a
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Mon, 27 Nov 2023 00:11:36 +0000 (09:11 +0900)]
Add new DA model names
Bespoke Washer
Bespoke Dryer
Appliance Emulator
Change-Id: Id57796968c980e43f8c552aa22f670eb6b3bdf6e
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Wed, 15 Nov 2023 04:21:54 +0000 (13:21 +0900)]
Add support for A2DP source and sink both role
- Change DefaultA2DPRoleSink to DefaultA2DPRole
- Enable both role in DA devices
Change-Id: I51c2a083f55e220d3430723e11d1af61de4fa4b7
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Fri, 13 Oct 2023 01:10:53 +0000 (10:10 +0900)]
main.conf: Change the TemporaryTimout value to 180
temporary devices will be removed after 180s not 30s
Change-Id: I6741644d7dd1df7d7ea885e7750600ec5614e93e
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Mon, 7 Aug 2023 00:24:11 +0000 (09:24 +0900)]
Add new DA model names
Change-Id: I411e8ef51a3dafd0cc583ff8da2c6111dbbf99a0
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Jakub Latusek [Wed, 1 Feb 2023 06:00:13 +0000 (15:00 +0900)]
Add support for custom advertising flags.
It is required to set proper advertising flags when establishing a
connection using
Bluetooth low energy to properly recognize device type.
Without this, the Linux device cannot recognize the Tizen device
properly and establish a connection.
Change-Id: I2dcbcd053a8de4c4954653ae8a5f55fbed775f66
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Signed-off-by: Jakub Latusek <j.latusek@samsung.com>
Wootak Jung [Thu, 6 Jul 2023 05:59:20 +0000 (14:59 +0900)]
gatt-database: Add OCF service handling logic
1. invalid handle issue
For bluez, the handle increases whenever service is added.
Invalid handle error occurs because mobile caches the handle for paired remote
device. Modify to use reserved handle for ocf uuid.
2. service persistence issue
Mobile is caching without service if gatt connection is lost while service is
removed.
Modify service changed notification not to be delivered for ocf service.
Change-Id: I48d6b649a7adbc3142a2525e02c904271e9b9f9c
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Thu, 8 Jun 2023 00:44:21 +0000 (09:44 +0900)]
Add "Smart Cooktop" to DA model
Change-Id: Ib62cbde072f59918b69465837fc605ef844a6629
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Fri, 7 Apr 2023 05:50:34 +0000 (14:50 +0900)]
shared/gatt-server: Fix att length check logic
Change-Id: I04d44a2ae04fbdb69af449035335346a97931933
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Mon, 3 Apr 2023 04:41:55 +0000 (13:41 +0900)]
Revert "main_da.conf: Change ExchangeMTU value"
This reverts commit
0896e3f493e7a266208b9f845c88741c26e14379.
Change-Id: I8e79b09b6ad29535af7dd97e33f00c900bfc1717
Wootak Jung [Wed, 15 Mar 2023 06:48:07 +0000 (15:48 +0900)]
main_da.conf: Change ExchangeMTU value
Change-Id: I11a8a199070f6c0a96981fcfe959c7051653aded
Wootak Jung [Thu, 9 Mar 2023 06:08:51 +0000 (15:08 +0900)]
adapter_le_vsc_features: Do not set adv_inst_max to 1 in DA case
Change-Id: Iecaf149146e335d04e83c1db25c15ec46431593b
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Thu, 16 Feb 2023 06:36:58 +0000 (15:36 +0900)]
adapter: Add adv data custom name handling logic
If the name filed is not empty, custom name is already set
Change-Id: Icf5aac6275fc09a3090a47283c994fbc69c9d7c3
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Tue, 14 Feb 2023 05:14:53 +0000 (14:14 +0900)]
adapter: Fix pending_settings value not clear issue
Remove the duplicated connectable mode setting logic
Change-Id: I994a87907394d705a9c20401aff2719845805f7a
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Fri, 27 Jan 2023 09:18:32 +0000 (18:18 +0900)]
da: Add DA feature newly
da feature contains many da models as well as fhub
Use da feature for below functions:
set adv data flag, offloading, log
Change-Id: I34f3b4039b421f7c22e1fca1c5d2a296ee1ee5cf
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Fri, 27 Jan 2023 09:14:54 +0000 (18:14 +0900)]
fhub: apply DA feature (offloading)
Change-Id: Iae80e51a7d7180ef3563fb744e58b4d6dc47f64e
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Wootak Jung [Mon, 5 Dec 2022 04:20:29 +0000 (13:20 +0900)]
core: Use timeout_add_seconds
Replace calls to g_timeout_add_seconds() by the timeout_add_seconds()
wrapper which takes care of 0 delay.
Change-Id: I9b8cc6d6d3f625eb3a51720446b4aaf720ca65ec
Signed-off-by: Wootak Jung <wootak.jung@samsung.com>
Ayush Garg [Thu, 22 Sep 2022 08:56:49 +0000 (14:26 +0530)]
fhub: create the bluez log to /run/network/log
Change-Id: I6564eeb4b46e142de74587c350c13427b773d04c
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Jonghwa Lee [Mon, 6 Feb 2023 04:01:53 +0000 (13:01 +0900)]
Enable HoG (HID over GATT) plugin
It enables the HoG plugin to support BLE joypad.
To enable the feature only, it adds additional configuration
option, '--enable-hog', and enables it in BREDR+LE as default.
The feature was checked with Xbox wireless controller.
Change-Id: Ia10efbe99565644ba9ed3aacdbad68e7fafae7b2
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Jonghwa Lee [Fri, 25 Nov 2022 06:03:11 +0000 (15:03 +0900)]
Separate bluez-test package into tests and tools
Currently, bluez-test package contains both test programs
and bluez's configuration tools. Because of test scripts
in the pacakge, it has a dependancy to 'dbus-python' which
is not neeeded for other tools in the same package.
By separating of tools from the package, it can become more
deployable.
Change-Id: Id2edb654e2c963a1ba5fc2248acace8d32a732e9
Signed-off-by: Jonghwa Lee <jonghwa3.lee@samsung.com>
Wootak Jung [Mon, 19 Sep 2022 07:28:33 +0000 (16:28 +0900)]
Fix the coverity issues
Change-Id: Iea3544fb1a71b9cde9693646b598310777bae66e
Ayush Garg [Wed, 14 Sep 2022 04:48:52 +0000 (10:18 +0530)]
fhub: diallaow A2DP multistream and change avrcp version
Change-Id: I4f89fe9e46689fc7854b2f7313aca46f41226bc3
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Ayush Garg [Tue, 13 Sep 2022 09:19:48 +0000 (14:49 +0530)]
fhub: apply DA feature (default a2dp mode, adv data flag)
Change-Id: I9251ad5ddac62efeb6c743ed086c13f526594c21
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Ayush Garg [Thu, 8 Sep 2022 08:05:29 +0000 (13:35 +0530)]
fhub: do not support Player Application Settings in AVRCP TG role
Change-Id: I566d1fe5aa1dd0e047a7c6bb5614a6d8fc5e4e2b
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Ayush Garg [Mon, 5 Sep 2022 09:32:21 +0000 (15:02 +0530)]
fhub: Add new profile for Family Hub
Change-Id: I9b3bb497e4359e1e4c33817fab4c7bb8f9a8fb56
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Wootak Jung [Thu, 2 Jun 2022 23:19:55 +0000 (08:19 +0900)]
adapter: Set max_filter to 0 not empty if filter not supported
D/BLUETOOTH_HAL( 6284): bt-hal-adapter-dbus-handler.c:
__bt_adapter_all_properties_cb(862) > LE Supported features
D/BLUETOOTH_HAL( 6284): bt-hal-adapter-dbus-handler.c:
__bt_adapter_all_properties_cb(888) > le supported features values are NOT provided by Stack
...
E/BLUETOOTH_HAL( 2510): bt-hal-adapter-le.c:
_bt_hal_get_available_adv_slot_id(347) > le_adv_slot is NULL
E/BLUETOOTH_HAL( 2510): bt-hal-gatt-server.c:
bt_hal_gatts_allocate_adv_slot(3637) > failed to get the adv_slot
E/BLUETOOTH_HAL( 2510): bt-hal-gatt-server.c:
gatt_server_multi_adv_enable(3749) > failed to get adv_slot
Change-Id: I41515e7efa47dbb2255451e845b209a31d0a6b5f
Wootak Jung [Thu, 26 May 2022 22:45:00 +0000 (22:45 +0000)]
Merge "adapter: Disable platform scan filter feature" into tizen
Wootak Jung [Thu, 26 May 2022 01:04:01 +0000 (10:04 +0900)]
adapter: Disable platform scan filter feature
Change-Id: I27798e150d25068c59706f18eeded947d75ad00b
Dohyun Pyun [Wed, 25 May 2022 22:34:14 +0000 (07:34 +0900)]
Remove the ceritifcate definition
We will handle the certification logic in the runtime
Change-Id: Ic8b96a2f88d7821f1cdba7c8244618c637e5685d
Signed-off-by: Dohyun Pyun <dh79.pyun@samsung.com>
Dohyun Pyun [Mon, 23 May 2022 05:25:26 +0000 (14:25 +0900)]
Check the certification mode in the runtime
Change-Id: Ibde861ed71f0998d61fdbab25681c8226df19ed7
Signed-off-by: Dohyun Pyun <dh79.pyun@samsung.com>
Dohyun Pyun [Wed, 11 May 2022 11:18:15 +0000 (20:18 +0900)]
Modify the packaging for hcidump
Change-Id: I443586fcbc5fe01dae47a8edd826f5875e98751e
Signed-off-by: Dohyun Pyun <dh79.pyun@samsung.com>
Wootak Jung [Mon, 9 May 2022 01:31:26 +0000 (10:31 +0900)]
shared/gatt-server: Add PTS certification logic
GATT/CL/GAI/BI-01-C
GATT/SR/GAR/BI-04-C
GATT/SR/GAR/BI-10-C
GATT/SR/GAW/BI-12-C
Change-Id: I4fce46e7f2ea669b445767b597d0a6475e71381f
Wootak Jung [Mon, 18 Apr 2022 00:55:02 +0000 (09:55 +0900)]
audio/avrcp: Add PTS certification related logic
IOPT/SR/SDSS/BV-02-I
Change-Id: I8d209bd6f2e541870d8e6446522dceb533dfdb0d
Wootak Jung [Mon, 18 Apr 2022 00:52:10 +0000 (09:52 +0900)]
shared/gatt-server: Add PTS certification related logic
GATT/SR/GAW/BI-05-C
GATT/SR/GAR/BI-34-C
GATT/SR/GAR/BI-35-C
GATT/SR/GAW/BI-12-C
Change-Id: I049f410d9eecdc490ba275c907891def179ee8c7
Wootak Jung [Mon, 18 Apr 2022 00:46:42 +0000 (09:46 +0900)]
Add certificate definition for PTS
Change-Id: I3619e2dc82cdd7253e08109ee1345e9e1527c1fd
Wootak Jung [Mon, 21 Mar 2022 02:35:36 +0000 (11:35 +0900)]
Fix svace issue
Remove unnecessary check logic
Change-Id: I39d8c4753d30be92c300bafb7f7aef11d4f7f9b9
Wootak Jung [Thu, 17 Mar 2022 01:20:10 +0000 (10:20 +0900)]
Remove unnecessary dbus policy
FAILED(assert) at /busconfig/policy[1]/allow[5] : You mustn't use
send_interface without send_destination or send_destination_prefix,
unless you limit the rule to only signals with send_type="signal"
Change-Id: I0074697fa485ea60fe2a1264e7499043cd41a2e6
Wootak Jung [Mon, 14 Mar 2022 07:58:46 +0000 (07:58 +0000)]
Merge "Add avtest to test rpm" into tizen
Wootak Jung [Mon, 14 Mar 2022 05:20:37 +0000 (14:20 +0900)]
Add avtest to test rpm
Change-Id: I36cb45a3d2f3da08374dff4094ae45a6491984c6
Ayush Garg [Fri, 11 Mar 2022 13:40:49 +0000 (19:10 +0530)]
Update the version to 5.63
Change-Id: I04c0b9d1795e7ad9c9b8101f9e69131e43f102a7
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Marcel Holtmann [Wed, 5 Jan 2022 21:49:00 +0000 (22:49 +0100)]
Release 5.63
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 21 Dec 2021 20:48:31 +0000 (12:48 -0800)]
gattrib: Fix passing NULL to memcpy
This fixes the following runtime error:
attrib/gattrib.c:198:2: runtime error: null pointer passed as
argument 2, which is declared to never be null
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 20 Dec 2021 23:50:52 +0000 (15:50 -0800)]
bootstrap-configure: Enable sanitizer options
This makes bootstrap-configure enables all sanitizers.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 20 Dec 2021 23:51:49 +0000 (15:51 -0800)]
build: Fix build when sanitizer are enabled
This fixes various issues found when sanitizers are enabled.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Mon, 20 Dec 2021 23:49:45 +0000 (15:49 -0800)]
build: Add sanitizer options
Build using Address Sanitizer (asan), Leak Sanitizer (lsan), or
Undefined Behavior Sanitizer (ubsan) by using one of these options for
the configure script:
--enable-asan
--enable-lsan
--enable-ubsan
For each of these to work, the compiler must support the requested
sanitizer and the requisite libraries must be installed (libasan,
liblsan, libubsan).
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Tue, 21 Dec 2021 19:32:51 +0000 (11:32 -0800)]
test-hog: Add monitor support
This adds monitor support so data can properly be decoded by the likes
of btmon:
= test-hog: /TP/HGRF/RH/BV-01-I - init
= test-hog: /TP/HGRF/RH/BV-01-I - setup
= test-hog: /TP/HGRF/RH/BV-01-I - setup complete
= test-hog: /TP/HGRF/RH/BV-01-I - run
> test-hog: User Data RX
ATT: Read By Group Type Request (0x10) len 6
Handle range: 0x0001-0xffff
Attribute group type: Primary Service (0x2800)
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 15 Dec 2021 22:48:07 +0000 (14:48 -0800)]
device: Fix bogus errors on load_att_info
load_att_info would attempt to load attributes file from the storage but
in case it doesn't exists it would print an error instead of just
bailing out as attributes file is created on demand when there are
something to be stored.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Claudio Takahasi [Wed, 15 Dec 2021 18:05:27 +0000 (15:05 -0300)]
advertising: Fix reporting advertising properties
InterfacesAdded signal for LEAdvertisingManager1 might be emitted
containing initial/default properties values and property changed is
not emitted after reading advertising features. This patch registers
the interface (LEAdvertisingManager1) after reading advertising features
from kernel.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Wed, 10 Nov 2021 22:10:53 +0000 (14:10 -0800)]
shared/gatt-client: Skip included service if it cannot be resolved
Instead of failing if the included service cannot be resolved just
skip it so doesn't fail and the discovery is stop due to a possible
application error.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Luiz Augusto von Dentz [Fri, 10 Dec 2021 23:19:07 +0000 (15:19 -0800)]
btdev: Add support for BT_HCI_CMD_LE_CREATE_CONN_CANCEL
This adds support for BT_HCI_CMD_LE_CREATE_CONN_CANCEL so it is able to
generate proper command complete.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 8 Dec 2021 22:39:23 +0000 (14:39 -0800)]
profiles/health: Replace random number generation function
This patch replaces the rand() function to the getrandom() syscall.
It was reported by the Coverity scan
rand() should not be used for security-related applications, because
linear congruential algorithms are too easy to break
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 8 Dec 2021 22:39:22 +0000 (14:39 -0800)]
plugins: Replace random number generation function
This patch replaces the rand() function to the getrandom() syscall.
It was reported by the Coverity scan
rand() should not be used for security-related applications, because
linear congruential algorithms are too easy to break
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 8 Dec 2021 22:39:21 +0000 (14:39 -0800)]
tools/btgatt-server: Replace random number generation function
This patch replaces the rand() function to the getrandom() syscall.
It was reported by the Coverity scan
rand() should not be used for security-related applications, because
linear congruential algorithms are too easy to break
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 8 Dec 2021 22:39:20 +0000 (14:39 -0800)]
peripheral: Replace random number generation function
This patch replaces the rand() function to the getrandom() syscall.
It was reported by the Coverity scan
rand() should not be used for security-related applications, because
linear congruential algorithms are too easy to break
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Tedd Ho-Jeong An [Wed, 8 Dec 2021 22:39:19 +0000 (14:39 -0800)]
emulator: Replace random number generation function
This patch replaces the rand() function to the getrandom() syscall.
It was reported by the Coverity scan
rand() should not be used for security-related applications, because
linear congruential algorithms are too easy to break
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
Ulisses Costa [Mon, 6 Dec 2021 23:40:01 +0000 (00:40 +0100)]
client/gatt: Fix property_change in WriteValue for desc
g_dbus_emit_property_changed was not working properly in the WriteValue
for the descriptor because the Characteristic interface was being used.
Signed-off-by: Anuj Jain <anuj01.jain@samsung.com>
Signed-off-by: Ayush Garg <ayush.garg@samsung.com>
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>