Branch: refs/heads/master Home: https://github.com/bluez/bluez Commit: 07c14fcfbd8b0843afca707b72fad77fc64a2098 https://github.com/bluez/bluez/commit/07c14fcfbd8b0843afca707b72fad77fc64a2098 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-01-16 (Thu, 16 Jan 2025) Changed paths: M src/shared/shell.c Log Message: ----------- shared/shell: Always set stdout to be line buffered This always set stdout to be line buffered to avoid cluttering the output: https://github.com/bluez/bluez/issues/747#issuecomment-2596840382 Commit: 07e8e726758fd957df3a1c04223c6454d1a2573e https://github.com/bluez/bluez/commit/07e8e726758fd957df3a1c04223c6454d1a2573e Author: Iulia Tanasescu <iulia.tanasescu@xxxxxxx> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M btio/btio.c Log Message: ----------- btio: Set correct length for getsockopt When calling getsockopt for BT_ISO_BASE, this initializes the length argument to the maximum size of the buffer where the bytes are placed. This fixes the fact that, on a Broadcast Sink, if the BASE discovered from a Broadcast Source exceeds a certain length, the bytes will be incompletely read, causing issues when parsing the LTVs. Commit: 1479c86ec116b04bdf15b21381b32e621e034acc https://github.com/bluez/bluez/commit/1479c86ec116b04bdf15b21381b32e621e034acc Author: Iulia Tanasescu <iulia.tanasescu@xxxxxxx> Date: 2025-01-17 (Fri, 17 Jan 2025) Changed paths: M src/shared/bap.c Log Message: ----------- shared/bap: Append extra L3 LTVs to BIS config According to the BAP spec, the level 3 of the BASE contains codec configuration LTVs specific to each BIS, in addition to the configuration provided at level 2 (subgroup level) (v1.0.1, section 3.7.2.2 Basic Audio Announcements). Currently, when a Broadcast Sink parses the BASE discovered from a Broadcast Source, level 3 LTV types that are not also present at level 2 are not included in the final BIS cofiguration, causing incorrect stream handling. This updates the BASE parsing logic to consider level 3 LTVs. Commit: 2767b96ff4341d17791b4a900ee6191572bd1594 https://github.com/bluez/bluez/commit/2767b96ff4341d17791b4a900ee6191572bd1594 Author: Michal Dzik <michal.dzik@xxxxxxxxxxxxxxxxxxx> Date: 2025-01-22 (Wed, 22 Jan 2025) Changed paths: M src/shared/vcp.c M src/shared/vcp.h Log Message: ----------- shared/vcp: add API to control volume on VCP client Commit: af8266af13c89c80c10eb307c3ad13fef2bb415c https://github.com/bluez/bluez/commit/af8266af13c89c80c10eb307c3ad13fef2bb415c Author: Michal Dzik <michal.dzik@xxxxxxxxxxxxxxxxxxx> Date: 2025-01-22 (Wed, 22 Jan 2025) Changed paths: M Makefile.plugins M profiles/audio/transport.c M profiles/audio/vcp.c A profiles/audio/vcp.h Log Message: ----------- audio: connect VCP profile client to MediaTransport It is now possible to control absolute volume of remote volume renderer device via dbus and also get notifications if the volume changes. Commit: 53d3e2c5d0b940eb5cb37f04ee3391dba7141c7b https://github.com/bluez/bluez/commit/53d3e2c5d0b940eb5cb37f04ee3391dba7141c7b Author: Michal Dzik <michal.dzik@xxxxxxxxxxxxxxxxxxx> Date: 2025-01-22 (Wed, 22 Jan 2025) Changed paths: M src/shared/vcp.c Log Message: ----------- shared/vcp: fix memory & connection management Those changes are mandatory to be able to connect to the same VCP renderer more than once without need to restart bluez - don't call vcp_detached on all cbs, as it would clean up too many (all) device-related objects - vcs members can be already set when connecting for the second time Commit: 49c53595e50c11997ee864cc586e7c91c16c726a https://github.com/bluez/bluez/commit/49c53595e50c11997ee864cc586e7c91c16c726a Author: Michal Dzik <michal.dzik@xxxxxxxxxxxxxxxxxxx> Date: 2025-01-22 (Wed, 22 Jan 2025) Changed paths: M profiles/audio/vcp.c Log Message: ----------- audio: fix VCP connection management Those changes are mandatory to be able to connect to the same VCP renderer more than once without need to restart bluez. - use vcp_disconnect() to close client connection and reset vcs members - call bt_vcp_detach() the same way as bt_vcp_attach - from btd_profile callback Commit: 73b251b8e8f0de46ce2fc8d1834dff529820d458 https://github.com/bluez/bluez/commit/73b251b8e8f0de46ce2fc8d1834dff529820d458 Author: Michal Dzik <michal.dzik@xxxxxxxxxxxxxxxxxxx> Date: 2025-01-22 (Wed, 22 Jan 2025) Changed paths: M src/shared/vcp.c Log Message: ----------- shared/vcp: control volume when acting as a server Local VCP chatacteristics are now connected to transport properties. Commit: 628c15a5b1f6f1db9f4534b609c3732b592b0536 https://github.com/bluez/bluez/commit/628c15a5b1f6f1db9f4534b609c3732b592b0536 Author: Denis Burkov <hitechshell@xxxxxxx> Date: 2025-01-23 (Thu, 23 Jan 2025) Changed paths: M src/shared/shell.c Log Message: ----------- shared/shell: add proper line clean to bt_shell_printf In some terminals (or all?) the line is not cleared before a new one is output (for example, if you turn on scanning and then try to write something to the terminal, the output will be mixed - you will get something like this: [JBL T450BT]# h[NEW] Device **** [JBL T450BT]# he[NEW] Device **** [JBL T450BT]# hell[NEW] Device **** [JBL T450BT]# hello[NEW] Device **** [JBL T450BT]# hello[NEW] Device **** Where "Device ****" is the line that was actually fed to bt_shell_printf. Commit: 9daadc32e8073f7d036e96ff14bf430892698c59 https://github.com/bluez/bluez/commit/9daadc32e8073f7d036e96ff14bf430892698c59 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-01-23 (Thu, 23 Jan 2025) Changed paths: M doc/org.bluez.MediaTransport.rst Log Message: ----------- org.bluez.MediaTransport: Allow Volume property to follow profile range This makes the Volume property to follow the profile defined range. Commit: 0aac6883b3a3a95d891e773b0958eb91aba01231 https://github.com/bluez/bluez/commit/0aac6883b3a3a95d891e773b0958eb91aba01231 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-01-23 (Thu, 23 Jan 2025) Changed paths: M profiles/audio/transport.c M profiles/audio/vcp.c M profiles/audio/vcp.h Log Message: ----------- vcp: Fix using scaled values for volume This makes the volume range 0-255 as per VCP spec rather than scaling it to fit 0-127. Commit: fac78ca5dbbdfbb2e60e8daebc8e6b353fd6b00b https://github.com/bluez/bluez/commit/fac78ca5dbbdfbb2e60e8daebc8e6b353fd6b00b Author: Frédéric Danis <frederic.danis@xxxxxxxxxxxxx> Date: 2025-01-24 (Fri, 24 Jan 2025) Changed paths: M profiles/audio/avrcp.c Log Message: ----------- avrcp: Fix crash on remote player changed bluetoothd crashes when the remote player changes while bluetoothd is waiting for avrcp_list_items reply. profiles/audio/player.c:1597:9: runtime error: member access within null pointer of type 'struct media_folder' AddressSanitizer:DEADLYSIGNAL ================================================================= ==825871==ERROR: AddressSanitizer: SEGV on unknown address 0x000000000020 (pc 0x602bb0fffabc bp 0x000000000020 sp 0x7ffef88216d0 T0) ==825871==The signal is caused by a READ memory access. ==825871==Hint: address points to the zero page. #0 0x602bb0fffabc in media_folder_find_item profiles/audio/player.c:1597 #1 0x602bb100cd3b in media_folder_create_item profiles/audio/player.c:1877 #2 0x602bb100cd3b in media_player_create_item profiles/audio/player.c:1928 #3 0x602bb107eae6 in parse_media_element profiles/audio/avrcp.c:2605 #4 0x602bb107eae6 in avrcp_list_items_rsp profiles/audio/avrcp.c:2706 #5 0x602bb106892f in browsing_response profiles/audio/avctp.c:987 #6 0x602bb106892f in session_browsing_cb profiles/audio/avctp.c:1028 #7 0x73de85b1448d (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5d48d) (BuildId: 461eff2b4df472ba9c32b2358ae9ba018a59a8c5) #8 0x73de85b73716 (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0xbc716) (BuildId: 461eff2b4df472ba9c32b2358ae9ba018a59a8c5) #9 0x73de85b14f76 in g_main_loop_run (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x5df76) (BuildId: 461eff2b4df472ba9c32b2358ae9ba018a59a8c5) #10 0x602bb13a22a8 in mainloop_run src/shared/mainloop-glib.c:66 #11 0x602bb13a2bb6 in mainloop_run_with_signal src/shared/mainloop-notify.c:189 #12 0x602bb0fd0257 in main src/main.c:1544 #13 0x73de84e2a1c9 in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58 #14 0x73de84e2a28a in __libc_start_main_impl ../csu/libc-start.c:360 #15 0x602bb0fd3124 in _start (/home/fdanis/src/bluez/src/bluetoothd+0x5c8124) (BuildId: 367892bd0501d74713dd7341977abfac1b2c5d6a) This can be reproduced using bluetoothctl and doing "player.list-items" just before switching music player on the remote device. This commit discards the item list parsing if the current player has not created a pending_list_items, i.e. it doesn't start this request. Commit: 29f0bdb545a4bd18435ebda9654afc949efd82d6 https://github.com/bluez/bluez/commit/29f0bdb545a4bd18435ebda9654afc949efd82d6 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-01-24 (Fri, 24 Jan 2025) Changed paths: M src/gatt-client.c Log Message: ----------- gatt-client: Fix warnings when reconnecting When reconnecting warnings could be seen due to services already existing which is a new behavior introduced by dbd6591bd1d0 ("main.conf: Add GATT.ExportClaimedServices"). Commit: 171930d5b21599628d7dbae3063c4713faf2ab93 https://github.com/bluez/bluez/commit/171930d5b21599628d7dbae3063c4713faf2ab93 Author: Pauli Virtanen <pav@xxxxxx> Date: 2025-01-27 (Mon, 27 Jan 2025) Changed paths: M profiles/audio/transport.c M profiles/audio/transport.h Log Message: ----------- transport: fix issues with BAP volumes > 127 Change types used for volumes to int, for BAP volumes > 127 and to allow -1 as it is used to mean no volume. Fix BAP max volume check in transport. Fixes setting BAP volumes. Commit: 9f11c1817c56c550537f1d967a0589a0b20029df https://github.com/bluez/bluez/commit/9f11c1817c56c550537f1d967a0589a0b20029df Author: Pauli Virtanen <pav@xxxxxx> Date: 2025-01-27 (Mon, 27 Jan 2025) Changed paths: M src/shared/gatt-db.c Log Message: ----------- shared/gatt-db: fix crash on bad attribute index In gatt_db_attribute_get_value(), avoid NULL pointer deref if attribute or db is in unexpected state and attrib at index-1 is missing. Fixes btmon -r crash, on a packet capture obtained with btmon -w after clearing BlueZ attributes & cache for the device: ==208213==ERROR: AddressSanitizer: SEGV on unknown address 0x00000000000c ==208213==The signal is caused by a READ memory access. ==208213==Hint: address points to the zero page. #0 0x5af4a6 in bt_uuid_to_uuid128 lib/uuid.c:65 #1 0x5afd54 in bt_uuid_cmp lib/uuid.c:118 #2 0x5d0dd2 in gatt_db_attribute_get_value src/shared/gatt-db.c:1663 #3 0x56aeab in print_value monitor/att.c:158 #4 0x56b80f in print_attribute monitor/att.c:207 #5 0x5982f7 in print_handle monitor/att.c:4417 #6 0x59b1b8 in print_write monitor/att.c:4598 #7 0x59b796 in att_write_req monitor/att.c:4627 #8 0x59e91e in att_packet monitor/att.c:4918 #9 0x4f4847 in l2cap_frame monitor/l2cap.c:2567 #10 0x4f6022 in l2cap_packet monitor/l2cap.c:2708 #11 0x4a48f6 in packet_hci_acldata monitor/packet.c:12606 #12 0x43952a in packet_monitor monitor/packet.c:4247 #13 0x4170c9 in control_reader monitor/control.c:1517 #14 0x402f76 in main monitor/main.c:277 Commit: 6f284a920bcd442f3fb7a0f2475d6342bc7b43e7 https://github.com/bluez/bluez/commit/6f284a920bcd442f3fb7a0f2475d6342bc7b43e7 Author: Iulia Tanasescu <iulia.tanasescu@xxxxxxx> Date: 2025-01-27 (Mon, 27 Jan 2025) Changed paths: M client/player.c Log Message: ----------- client/player: Rework transport.select Since the transport.select command should also work for transports created by audio servers, the transport should not be required to be associated with a local bluetoothctl endpoint, to avoid errors like below: [bluetoothctl]> scan on [bluetoothctl]> [NEW] Device 1C:F1:FA:E7:B0:3F 1C-F1-FA-E7-B0-3F [1C-F1-FA-E7-B0-3F]> [NEW] Transport /org/bluez/hci0/dev_1C_F1_FA_E7_B0_3F/bis1/fd0 [1C-F1-FA-E7-B0-3F]> [NEW] Transport /org/bluez/hci0/dev_1C_F1_FA_E7_B0_3F/bis2/fd1 [1C-F1-FA-E7-B0-3F]> transport.select /org/bluez/hci0/dev_1C_F1_FA_E7_B0_3F/bis1/fd0 /org/bluez/hci0/dev_1C_F1_FA_E7_B0_3F/bis2/fd Local endpoint not found This reworks transport.select to use a dedicated structure to hold information about the transport and its links, instead of using the local endpoint. Commit: 46fbbd600578a7edc17a1b76ac6b8673335cc601 https://github.com/bluez/bluez/commit/46fbbd600578a7edc17a1b76ac6b8673335cc601 Author: Iulia Tanasescu <iulia.tanasescu@xxxxxxx> Date: 2025-01-27 (Mon, 27 Jan 2025) Changed paths: M client/bluetoothctl-transport.rst Log Message: ----------- client: Update transport.select documentation This updates the transport.select documentation to explain the expected behavior when selecting multiple transports and when an audio server is involved. Commit: 36c79632fc9f172afcf0c83cdd4d89fcfa8b3912 https://github.com/bluez/bluez/commit/36c79632fc9f172afcf0c83cdd4d89fcfa8b3912 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-01-30 (Thu, 30 Jan 2025) Changed paths: M doc/org.bluez.LEAdvertisement.rst Log Message: ----------- org.bluez.LEAdvertisement: Add dedicated Scan Response field This adds Scan Response fields as experimental so we can evaluate if this should be made into a stable API. Commit: ab6502473a622fa795cc45bb14b65f8d6f271ac1 https://github.com/bluez/bluez/commit/ab6502473a622fa795cc45bb14b65f8d6f271ac1 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-01-30 (Thu, 30 Jan 2025) Changed paths: M src/advertising.c Log Message: ----------- advertising: Add scan response properties to LEAdvertisement1 This update introduces a few properties to org.bluez.LEAdvertisement1 for manipulating Scan Response Data, similar to the existing properties for Advertising Data. Fixes: https://github.com/bluez/bluez/issues/667 Commit: f9417eafa2adffd779a01b2400145831d493830a https://github.com/bluez/bluez/commit/f9417eafa2adffd779a01b2400145831d493830a Author: Yuxin Wang <yuxinwang9999@xxxxxxxxx> Date: 2025-01-30 (Thu, 30 Jan 2025) Changed paths: M client/advertising.c M client/advertising.h M client/bluetoothctl-advertise.rst M client/main.c Log Message: ----------- advertising: Add scan response support in bluetoothctl Add commands in the bluetoothctl advertising submenu to manage scan response data. Commit: 1f7a7c9dcadbec6c23d2bd9e946cd706e606e837 https://github.com/bluez/bluez/commit/1f7a7c9dcadbec6c23d2bd9e946cd706e606e837 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-01-30 (Thu, 30 Jan 2025) Changed paths: M doc/org.bluez.GattCharacteristic.rst Log Message: ----------- org.bluez.GattCharacteristic: Add confirmation support to AcquireNotify This adds confirmation support for AcquireNotify when indication procedure is used, also document the behavior of clients vs servers. Commit: 6b34b055117cebdb9fb502d138cb654c6c9949b7 https://github.com/bluez/bluez/commit/6b34b055117cebdb9fb502d138cb654c6c9949b7 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-01-30 (Thu, 30 Jan 2025) Changed paths: M src/gatt-database.c Log Message: ----------- gatt: Implement confirmation support for AcquireNotify This implements AcquireNotify (fd based) confirmation so servers can be notified when a client confirm the reception of an indication. Fixes: https://github.com/bluez/bluez/issues/1081 Commit: f0d0266acd9d0f91f8b68ebcbf9cf0e99f62956c https://github.com/bluez/bluez/commit/f0d0266acd9d0f91f8b68ebcbf9cf0e99f62956c Author: Ludovico de Nittis <ludovico.denittis@xxxxxxxxxxxxx> Date: 2025-01-30 (Thu, 30 Jan 2025) Changed paths: M src/device.c Log Message: ----------- device: Clear only the pending flags that have been applied When executing `btd_device_flags_changed()`, `dev->pending_flags` may hold additional queued flag changes. Instead of completely clearing out `dev->pending_flags`, we should only remove the bits that have been actually applied and leaving the rest as pending. Commit: 0acdf186fcde930dfe4c25175dc857ef2d73cefe https://github.com/bluez/bluez/commit/0acdf186fcde930dfe4c25175dc857ef2d73cefe Author: Ludovico de Nittis <ludovico.denittis@xxxxxxxxxxxxx> Date: 2025-01-30 (Thu, 30 Jan 2025) Changed paths: M src/adapter.c Log Message: ----------- adapter: Fix the pending changing flags check When checking if the new desired device flags are already pending, we should compare them against the XOR of current flags and desired flags, i.e. the flags that are going to change. For example, let's assume the following situation: - We have a device with `current_flags == DEVICE_FLAG_REMOTE_WAKEUP` (i.e. 1) - We want to disable the `wake_allowed` property - `device_set_wake_allowed()` will call `adapter_set_device_flags()` with `flags == 0` - When in `adapter_set_device_flags()`, we'll have: - current == 1 - pending == 0 - flags == 0 In this situation `flags == (flags & pending)` would not return what we'd expect. Commit: 1b37809b1df771fcfc2c46a8ece765359615ad28 https://github.com/bluez/bluez/commit/1b37809b1df771fcfc2c46a8ece765359615ad28 Author: Amisha Jain <quic_amisjain@xxxxxxxxxxx> Date: 2025-01-30 (Thu, 30 Jan 2025) Changed paths: M doc/supported-features.txt M src/profile.c Log Message: ----------- obex: Update the MAP Client version to 1.4 in SDP record This change is required in below PTS testcase: 1. MAP/MCE/SGSIT/ATTR/BV-10-C Attribute GSIT - Bluetooth Profile Descriptor List, MAP 1.4 Current MAP Client version 1.2 is being deprecated and withdrawn from BT Sig, so it is mandatory to update the version. No additional changes are needed for supporting the new version. Commit: 04b220a1e485deb3bf025cdc706a4c3958a1c294 https://github.com/bluez/bluez/commit/04b220a1e485deb3bf025cdc706a4c3958a1c294 Author: Fedor Pchelkin <pchelkin@xxxxxxxxx> Date: 2025-01-30 (Thu, 30 Jan 2025) Changed paths: M btio/btio.c Log Message: ----------- btio: actually try to enable MTU auto-tuning A "0" for the input MTU passed to the underlying socket is supposed to indicate that its value should be determined by the L2CAP layer. However, the current code treats a zero imtu just as if there is nothing to change. Introduce rework the code to indicate that the zero imtu is explicitly requested by the caller for the purpose of auto-tuning and -1 is used as not set value. Found by Linux Verification Center (linuxtesting.org). Fixes: ae5be371a9f5 ("avdtp: Enable MTU auto tunning") Commit: 252a32ac0b3f6f2d34747fb9d9ba6f34e1b9f8be https://github.com/bluez/bluez/commit/252a32ac0b3f6f2d34747fb9d9ba6f34e1b9f8be Author: Fedor Pchelkin <pchelkin@xxxxxxxxx> Date: 2025-01-30 (Thu, 30 Jan 2025) Changed paths: M profiles/audio/a2dp.c Log Message: ----------- a2dp: enable input MTU auto-tuning for the server L2CAP frames are lost while utilizing some exotic A2DP transports usually coming up with weird custom MTU sizes so take advantage of auto-tuning it for such cases. Found by Linux Verification Center (linuxtesting.org). Fixes: https://github.com/bluez/bluez/issues/1080 Commit: 1474c11618bc1092f7dd4b304d3768ce9da02b13 https://github.com/bluez/bluez/commit/1474c11618bc1092f7dd4b304d3768ce9da02b13 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-01-31 (Fri, 31 Jan 2025) Changed paths: M Makefile.am M Makefile.tools R emulator/amp.c R emulator/amp.h M emulator/main.c R lib/a2mp.h R lib/amp.h R tools/amptest.c R tools/parser/amp.c M tools/parser/hci.c M tools/parser/l2cap.c Log Message: ----------- build: Remove AMP related functionality High Speed, Alternate MAC and PHY (AMP) extension, has been removed from Bluetooth Core specification on 5.3: https://www.bluetooth.com/blog/new-core-specification-v5-3-feature-enhancements/ The kernel already have undergone similar changes starting with e7b02296fb40 ("Bluetooth: Remove BT_HS"). Commit: e77884accdb22268eb65374fc96c35d9f8788d32 https://github.com/bluez/bluez/commit/e77884accdb22268eb65374fc96c35d9f8788d32 Author: Pauli Virtanen <pav@xxxxxx> Date: 2025-02-03 (Mon, 03 Feb 2025) Changed paths: M src/shared/vcp.c Log Message: ----------- shared/vcp: have only one volume change in flight at a time If bt_vcp_set_volume() is called again before the previous operation has completed, the requests get the same change counter, and all except the first one fail. Fix by waiting until the current request completes, and if volume was set again during waiting, send a new request with the latest pending volume value. In this definition, bt_vcp_set_volume() will skip over intermediate volume updates if they are done too rapidly. Send only volume requests that change the value to a different one than last notification we have seen: in this case the request either fails, or succeeds and generates a new notification. In theory this guarantees we always exit waiting, but safeguard it with a timeout. Commit: 26ef5a951e8111d360586f1169b8fac2dc2cb613 https://github.com/bluez/bluez/commit/26ef5a951e8111d360586f1169b8fac2dc2cb613 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-02-04 (Tue, 04 Feb 2025) Changed paths: M acinclude.m4 Log Message: ----------- build: Enable -Wstringop-overflow and -D_FORTIFY_SOURCE=3 This enables -Wstringop-overflow compiler warnings: 'Warn for calls to string manipulation functions such as "memcpy" and "strcpy" that are determined to overflow the destination buffer.' Along with -D_FORTIFY_SOURCE=3 so the errors like the following can be captured: In function ‘read’, inlined from ‘serial_read_callback’ at emulator/serial.c:90:8: /usr/include/bits/unistd.h:32:10: error: ‘__read_alias’ specified size between 18446744073709490177 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=] 32 | return __glibc_fortify (read, __nbytes, sizeof (char), | ^~~~~~~~~~~~~~~ Commit: de2773b659d0b25448243d8a746d1767299e8633 https://github.com/bluez/bluez/commit/de2773b659d0b25448243d8a746d1767299e8633 Author: Luiz Augusto von Dentz <luiz.von.dentz@xxxxxxxxx> Date: 2025-02-04 (Tue, 04 Feb 2025) Changed paths: M emulator/serial.c Log Message: ----------- emulator: Fix Werror=stringop-overflow This fixes the following build errors caused by buf being used as a static from tracking progress of a packet when it is not necessary since pkt_data exists for the same reason: /usr/include/bits/unistd.h:32:10: error: ‘__read_alias’ specified size between 18446744073709490177 and 18446744073709551615 exceeds maximum object size 9223372036854775807 [-Werror=stringop-overflow=] 32 | return __glibc_fortify (read, __nbytes, sizeof (char), | ^~~~~~~~~~~~~~~ emulator/serial.c: In function ‘serial_read_callback’: emulator/serial.c:78:24: note: destination object allocated here 78 | static uint8_t buf[4096]; | ^~~ /usr/include/bits/unistd-decl.h:29:16: note: in a call to function ‘__read_alias’ declared with attribute ‘access (write_only, 2, 3)’ 29 | extern ssize_t __REDIRECT_FORTIFY (__read_alias, (int __fd, void *__buf, | ^~~~~~~~~~~~~~~~~~ Fixes: https://github.com/bluez/bluez/issues/1049 Commit: 9dbc92a360b25446659387fadd4ab4ffb5abe76f https://github.com/bluez/bluez/commit/9dbc92a360b25446659387fadd4ab4ffb5abe76f Author: Pablo Montes <pmontes@xxxxxxxxxxxxxxxxx> Date: 2025-02-04 (Tue, 04 Feb 2025) Changed paths: M tools/mesh-cfgclient.c Log Message: ----------- tools: print error on mkdir On some fresh installations where XDG_CONFIG_SESSION is not defined, and $HOME/.config is not created yet, mesh-cfgclient failed with no hints. Commit: 9839799b505aae7a99907d71c4316b7b9b5b12f4 https://github.com/bluez/bluez/commit/9839799b505aae7a99907d71c4316b7b9b5b12f4 Author: Frédéric Danis <frederic.danis@xxxxxxxxxxxxx> Date: 2025-02-04 (Tue, 04 Feb 2025) Changed paths: M tools/mpris-proxy.c Log Message: ----------- mpris-proxy: Fix missing line returns Commit: 01a5a268143eb2954de2b3dfd3f27c0b5d00160b https://github.com/bluez/bluez/commit/01a5a268143eb2954de2b3dfd3f27c0b5d00160b Author: Frédéric Danis <frederic.danis@xxxxxxxxxxxxx> Date: 2025-02-04 (Tue, 04 Feb 2025) Changed paths: M tools/mpris-proxy.c Log Message: ----------- mpris-proxy: Add mpris:artUrl support This commit connects to the bip-avrcp Obex service if the org.bluez.MediaPlayer ObexPort property exists. Once connected, the Track properties update may contain an ImgHandle which is automatically downloaded, then a Metadata property updated signal is sent on org.mpris.MediaPlayer2.Player interface. Some devices share the Obex session between multiple players. So the Obex session is created by device. mpris-proxy logs with cover art download and player switch: $ tools/mpris-proxy org.bluez appeared org.bluez.obex appeared Bluetooth Obex Client /org/bluez/obex found Bluetooth Adapter /org/bluez/hci0 found player org.mpris.MediaPlayer2.rhythmbox at :1.159 found Bluetooth Transport /org/bluez/hci0/dev_24_24_B7_11_82_6C/fd8 found Bluetooth Player /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0 found Bluetooth Obex Create new session Player org.mpris.MediaPlayer2.Fr__d__ric_s_S23 created Bluetooth Item /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0/Filesystem found Bluetooth Item /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0/NowPlaying found Bluetooth Folder /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0 found Bluetooth Obex ImgHandle: 0000007 Bluetooth Item /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0/NowPlaying/item2 found Bluetooth Obex cover art available at: /tmp/session9-0000007 Bluetooth Player /org/bluez/hci0/dev_24_24_B7_11_82_6C/player0 removed Bluetooth Player /org/bluez/hci0/dev_24_24_B7_11_82_6C/player127 found Bluetooth Obex reuse existing session Player org.mpris.MediaPlayer2.Fr__d__ric_s_S23_Media_Player created player org.mpris.MediaPlayer2.Fr__d__ric_s_S23 at :1.1035 disappear Bluetooth Obex ImgHandle: 0000008 Bluetooth Obex cover art available at: /tmp/session9-0000008 Commit: 4bc8660651f4143956611a4418248667f8276170 https://github.com/bluez/bluez/commit/4bc8660651f4143956611a4418248667f8276170 Author: Frédéric Danis <frederic.danis@xxxxxxxxxxxxx> Date: 2025-02-04 (Tue, 04 Feb 2025) Changed paths: M tools/mpris-proxy.c Log Message: ----------- mpris-proxy: Fix infinite list items reception Samsung Music app on Android phone send play list items in loop if highest bit is set to 1, so limit playlist to 0x7FFFFFFF items. Commit: dd5316091c71c0cb3141a5f44580d973d3770eed https://github.com/bluez/bluez/commit/dd5316091c71c0cb3141a5f44580d973d3770eed Author: Yang Li <yang.li@xxxxxxxxxxx> Date: 2025-02-10 (Mon, 10 Feb 2025) Changed paths: M src/main.c M src/main.conf Log Message: ----------- gatt: expanded maximum GATT channels to 6 The maximum value of GATT channels should be 6, including ATT fixed channel(1) and EATT L2CAP CoC(2-6). Fixes: https://github.com/bluez/bluez/issues/1033 Commit: f44d3e08e9a1a6cb9570c163fd23a5dcee644c12 https://github.com/bluez/bluez/commit/f44d3e08e9a1a6cb9570c163fd23a5dcee644c12 Author: Sanchayan Maity <sanchayan@xxxxxxxxxxxxx> Date: 2025-02-10 (Mon, 10 Feb 2025) Changed paths: M src/shared/asha.c M src/shared/asha.h Log Message: ----------- shared/asha: Add support for other side update ASHA specification requires that the status of the other side be communicated with the start command. The status is also updated if one of the device in the pair is connected/disconnected after the other. Acked-by: Arun Raghavan <arun@xxxxxxxxxxxxx> Commit: d3e40e82afba8bbc24df8c23272fbf8a68e6ed67 https://github.com/bluez/bluez/commit/d3e40e82afba8bbc24df8c23272fbf8a68e6ed67 Author: Pauli Virtanen <pav@xxxxxx> Date: 2025-02-10 (Mon, 10 Feb 2025) Changed paths: M acinclude.m4 Log Message: ----------- build: check first before enabling -D_FORTIFY_SOURCE=3 With --disable-optimization, _FORTIFY_SOURCE=3 produces compiler warnings/errors: /usr/include/features.h:422:4: error: #warning _FORTIFY_SOURCE requires compiling with optimization (-O) [-Werror=cpp] 422 | # warning _FORTIFY_SOURCE requires compiling with optimization (-O) Before enabling it for --enable-maintainer-mode, check the compiler doesn't fail when using the flag. Commit: 8fa5584e5632582583a346b7195fce0ad7d9aff1 https://github.com/bluez/bluez/commit/8fa5584e5632582583a346b7195fce0ad7d9aff1 Author: Iulia Tanasescu <iulia.tanasescu@xxxxxxx> Date: 2025-02-12 (Wed, 12 Feb 2025) Changed paths: M profiles/audio/bap.c M profiles/audio/bass.c M profiles/audio/bass.h Log Message: ----------- bass: Register bap attached/detached callbacks This removes the bass_bcast_probe and bass_bcast_remove APIs, in order to decouple the BASS and BAP plugins. Instead, since the BASS Server (BAP Scan Delegator) implementation needs to reference the bap session, BASS registers bap attached/detached callbacks with shared/bap. - After receiving a request from a Broadcast Assistant, the BASS Server creates a device for the Broadcaster and adds the UUID to probe. - The service is probed inside the BAP plugin, where a new bt_bap session is attached. The service is set as user data beforehand. - The bt_bap session is notified in the BASS bap_attached callback. The reference to the service is accessible from the user data. - The BASS Server takes ownership for the service by setting its user data. This way, short-lived PA sync will be skipped inside BAP, and the BASS Server will handle long-lived PA sync and stream configuration. - When the bt_bap session is removed, it will be notified in the bap_detached callback. Commit: f0e9ecb9f4fe3a7bdb011dc155cf6ad657a289ee https://github.com/bluez/bluez/commit/f0e9ecb9f4fe3a7bdb011dc155cf6ad657a289ee Author: Raghavender Reddy Bujala <quic_rbujala@xxxxxxxxxxx> Date: 2025-02-12 (Wed, 12 Feb 2025) Changed paths: M profiles/audio/a2dp.c M profiles/audio/avrcp.c M src/profile.c Log Message: ----------- audio: upgrade versions to latest possible to qualify Most of the existing profile versions are withdrawn to make PTS successfull, need to upgrade the version for audio profiles and there are no mandatory feature changes between these versions are seen. Version changes A2DP from 1.3 to 1.4 HFP from 1.7 to 1.8 AVRCP TG from 1.5 to 1.6 AVCTP from 1.3 to 1.4 Commit: 183c843c084a2d2f9521efac2cdc81af60a75f84 https://github.com/bluez/bluez/commit/183c843c084a2d2f9521efac2cdc81af60a75f84 Author: Yang Li <yang.li@xxxxxxxxxxx> Date: 2025-02-12 (Wed, 12 Feb 2025) Changed paths: M src/device.c M src/gatt-database.c M src/shared/gatt-client.c Log Message: ----------- client: Set the feature when initializing the client When writing Client Features feature values, it needs to determine whether local EATT is enabled. Commit: fa4d477ab535851d70fd542968325aaf09679454 https://github.com/bluez/bluez/commit/fa4d477ab535851d70fd542968325aaf09679454 Author: Arkadiusz Bokowy <arkadiusz.bokowy@xxxxxxxxx> Date: 2025-02-13 (Thu, 13 Feb 2025) Changed paths: M emulator/btdev.c Log Message: ----------- btdev: Broadcast EXT_ADV packets based on its interval Real BLE devices transmit LE advertisement report packages in given intervals (typically in range between 20 ms and 10.24 s). With current kernel module Bluetooth stack implementation it is possible that the first LE meta packet just after enabling scanning will be lost. It is not an issue for real devices, because more advertisement reports will be delivered later (in given interval time). This patch changes optimistic implementation of sending only one LE meta packets just after enabling scanning to sending LE meta packets every minimal interval thus emulating what a real controller would do and will work around the issue of dropping the very first LE meta packet by the kernel. For direct advertising, the 10ms interval is used to provide high duty cycle advertising. Commit: f003b90d57b59a56eaed11c0240ae2fde34c64ce https://github.com/bluez/bluez/commit/f003b90d57b59a56eaed11c0240ae2fde34c64ce Author: Vibhav Pant <vibhavp@xxxxxxxxx> Date: 2025-02-13 (Thu, 13 Feb 2025) Changed paths: M src/adapter.c Log Message: ----------- adapter: Emit PropertiesChanged signal for Connectable as well Commit: 571bc32fd9d0679e22e6194ce2877bcabc97a762 https://github.com/bluez/bluez/commit/571bc32fd9d0679e22e6194ce2877bcabc97a762 Author: Arkadiusz Bokowy <arkadiusz.bokowy@xxxxxxxxx> Date: 2025-02-13 (Thu, 13 Feb 2025) Changed paths: M tools/test-runner.c Log Message: ----------- test-runner: Increase amount of RAM available in VM When using default kernel configuration from Ubuntu 24.04 patched with the configuration from tester.config, the kernel image is too big to run on 192M bytes of RAM. As a result the test-runner exits without any message (because of the "quite" kernel command line option). Commit: 8e76a4d0dc5603d8b2e3711d217cfe26b7c3b981 https://github.com/bluez/bluez/commit/8e76a4d0dc5603d8b2e3711d217cfe26b7c3b981 Author: Arkadiusz Bokowy <arkadiusz.bokowy@xxxxxxxxx> Date: 2025-02-13 (Thu, 13 Feb 2025) Changed paths: M tools/test-runner.c Log Message: ----------- test-runner: Remove the "-nographic" option passed to QEMU This option causes QEMU to redirect monitor and serial to the terminal, but also it modifies the terminal settings and clears it before printing anything. Such behavior might be annoying because it might clear some warning messages printed before clearing the screen. Since test-runner disables QEMU monitor and redirects serial to stdio in an explicit way, the "-nographic" option can be dropped. Commit: 54210e0210d464de0ae6d645228ec586b80dd15d https://github.com/bluez/bluez/commit/54210e0210d464de0ae6d645228ec586b80dd15d Author: Arkadiusz Bokowy <arkadiusz.bokowy@xxxxxxxxxx> Date: 2025-02-13 (Thu, 13 Feb 2025) Changed paths: M tools/test-runner.c Log Message: ----------- test-runner: Do not use short-form of readonly option qemu-system-x86_64: warning: short-form boolean option 'readonly' deprecated Please use readonly=on instead Commit: 4577f50e739fc92dd633e8ac6426144a77844fba https://github.com/bluez/bluez/commit/4577f50e739fc92dd633e8ac6426144a77844fba Author: Arkadiusz Bokowy <arkadiusz.bokowy@xxxxxxxxx> Date: 2025-02-13 (Thu, 13 Feb 2025) Changed paths: M tools/test-runner.c Log Message: ----------- test-runner: Use host CPU when starting VM When running test-runner on Ubuntu 24.04 with mainline kernel compiled from Ubuntu default configuration with applied tester.config options, the QEMU is not able to start the test-runner application due to illegal instruction. Passing '-cpu host' fixes that issue. > $ tools/test-runner -k linux/arch/x86/boot/bzImage -- tools/mgmt-tester > Using QEMU binary /usr/bin/qemu-system-x86_64 > Using kernel image [...]/linux/arch/x86/boot/bzImage > Found support for Virtual Machine eXtensions > [...] > [ 0.000000] Linux version 6.14.0-rc2+ (gcc (Ubuntu 13.3.0-6ubuntu2~24.04) 13.3.0 [...] > [...] > Running command tools/mgmt-tester > New process 74 created > Illegal instruction > Process 74 exited with status 132 > [ 0.881239] reboot: Restarting system > [ 0.881431] reboot: machine restart Potential caveat: In case when the KVM is not available on the host, the QEMU will not start with the warning: CPU model 'host' requires KVM or HVF Commit: af3d67d799aa08a90522ff77029c8d9e3478acc9 https://github.com/bluez/bluez/commit/af3d67d799aa08a90522ff77029c8d9e3478acc9 Author: Arkadiusz Bokowy <arkadiusz.bokowy@xxxxxxxxx> Date: 2025-02-14 (Fri, 14 Feb 2025) Changed paths: M tools/test-runner.c Log Message: ----------- test-runner: Allow to use host CPU on demand The "-cpu host" option for QEMU can not be enabled by default because our CI system does not have a support for KVM. In order to allow to run the test-runner on systems where binaries built on the host are not compatible with QEMU CPU variant, the "--qemu-host-cpu" option will add the "-cpu host" to the QEMU command line arguments. Commit: 264bf951f2d687f520898fa3e182291f1261e3a7 https://github.com/bluez/bluez/commit/264bf951f2d687f520898fa3e182291f1261e3a7 Author: Ludovico de Nittis <ludovico.denittis@xxxxxxxxxxxxx> Date: 2025-02-14 (Fri, 14 Feb 2025) Changed paths: M src/adapter.c M src/device.c Log Message: ----------- device: Clear pending_flags on error If setting WakeAllowed, or the device privacy, fails, we may end up in a situation where `pending_flags` is still set to some `DEVICE_FLAG_*` values, for example from `device_set_wake_allowed()` or `adapter_set_device_flags()`. This can confuse further requests because they'll assume that there is still a pending request in progress. Compare: https://github.com/bluez/bluez/compare/2ee08ffd4d46...264bf951f2d6 To unsubscribe from these emails, change your notification settings at https://github.com/bluez/bluez/settings/notifications