| 85460c32 |
doc: mark battery APIs non-experimental
Remove experimental status also from documentation. |
Pauli Virtanen |
2 years ago |
1 file, +3, -3 |
| 495a5826 |
battery: mark all battery DBus APIs non-experimental
Remove experimental marker from BatteryProvider1 and Battery1.Source.
It's common that headsets send battery information via HFP, and often
this is also the only way to get it. Pipewire/pulseaudio manage HFP,
parse the battery commands, and use the BatteryProvider API if present
to forward it. No problems with the API appeared here, and it's been
experimental for a few years, so it's useful to enable it by default
now. |
Pauli Virtanen |
2 years ago |
2 files, +5, -8 |
| a56bc5ec |
shared/bass: Add miscellaneous fixes
This introduces miscellaneous BASS updates and fixes discovered
during PTS testing. |
Iulia Tanasescu |
2 years ago |
2 files, +140, -40 |
| b94e33f9 |
hciemu: Add support for setting emulator bdaddr
This adds support for the user to explicitly set a desired bdaddr to
a client emulator. |
Iulia Tanasescu |
2 years ago |
2 files, +11, -0 |
| 769268f4 |
btio: Bind listener to bcaster addr based on dst opt
This updates the btio module to decide whether to bind a listening socket
to a broadcaster address or not, by looking at the dst address. |
Iulia Tanasescu |
2 years ago |
2 files, +16, -12 |
| 90af8029 |
shared/csip: Fix return of Rank attribute
Return Rank attribute as per the configured value. |
Kiran K |
2 years ago |
1 file, +6, -2 |
| ad91f362 |
main: Fix reading of CSIS.Rank config field
csis.rank was incorrectly read the value of csis.size |
Kiran K |
2 years ago |
1 file, +1, -1 |
| f253711c |
client: Print Manufacturer and Version on show command
This enables show to print the Manufaturer and Version information if
available:
bluetoothctl> show
...
Manufacturer: 0x0002 (2)
Version: 0x0b (11) |
Luiz Augusto von Dentz |
2 years ago |
1 file, +2, -0 |
| f2677c01 |
adapter: Implement Version and Manufacturer properties
This allows DBus clients to find an adapter's version and
manufacturer company code without querying the management API. |
Vibhav Pant |
2 years ago |
1 file, +28, -0 |
| 6393012d |
adapter-api: Add Manufacturer and Version properties
This adds Manufacturer and Version properties to org.bluez.Adapter1
interface. |
Vibhav Pant |
2 years ago |
1 file, +11, -0 |
| 6ee10e6d |
monitor: Add Bluetooth 5.4 to the version list |
Marcel Holtmann |
2 years ago |
1 file, +3, -0 |
| 5f0297f1 |
lib: Add Bluetooth 5.3 and Bluetooth 5.4 into the version table |
Marcel Holtmann |
2 years ago |
1 file, +2, -0 |
| 9741e47a |
client/mgmt: Fix registering pairing callbacks
Don't register pairing callbacks until mgmt.pair is called otherwise it
may take over the role of pairing agent when bluetoothctl agent is in
use. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +14, -8 |
| d9445f6d |
iso-tester: Test bcast receiver with PA sync, no BIS
This tests that a broadcast receiver is able to successfully sync to the
PA transmitted by a source, without performing BIS sync also:
ISO Broadcaster Receiver Defer No BIS - Success |
Iulia Tanasescu |
2 years ago |
1 file, +35, -6 |
| 232f6f68 |
iso-tester: Add test for bcast AC 13 BIS unset
This adds a new test for the ISO Broadcast AC 13, when the BIG handle
is set but the advertising handle is unset:
ISO Broadcaster AC 13 BIG 0x01 - Success |
Iulia Tanasescu |
2 years ago |
1 file, +20, -5 |
| 6683305d |
doc: clarify org.bluez.MediaEndpoint documentation
Document the actual input and output parameter values used in
SelectProperties. These differ from SetConfiguration.
Mention SelectProperties is used for unicast only.
Document SetConfiguration input parameters. |
Pauli Virtanen |
2 years ago |
1 file, +40, -8 |
| 5e582e34 |
bap: use MediaEndpoint related properties consistently
Use the documented name "MaximumLatency" for the MediaEndpoint QoS
Max_Transport_Latency field, in SelectProperties input parameters and
expected client MediaEndpoint properties.
Put QoS fields to a "QoS" dict in SelectProperties input.
Fix typoed ppd_min -> ppd_max in SelectProperties input.
Use the name "Locations" for SelectProperties supported locations input
parameter, to match the MediaEndpoint property name which indicates the
same thing. |
Pauli Virtanen |
2 years ago |
1 file, +26, -11 |
| 7ff68ce5 |
shared/att: Don't keep retrying the same operation
If an operation has been retried already don't attempt to change the
security again. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +8, -0 |
| 954b8e53 |
main.conf: Fix default of CSIS.encrypt
CSIS.encrypt setting shall default to true, not false. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +1, -0 |
| 267bf36d |
csip: Add support for SIRK encryption
This implements SIRK value encryption using the LTK which is accessed
using btd_device_get_ltk. |
Luiz Augusto von Dentz |
2 years ago |
3 files, +38, -54 |
| c35304f3 |
device: Add btd_device_get_ltk
This adds btd_device_get_ltk function which can be used by plugins to
access the LTK key. |
Luiz Augusto von Dentz |
2 years ago |
2 files, +19, -0 |
| 65b53b0d |
shared/csip: Fix not always reading SIRK value
This makes sure the SIRK value is always read otherwise its value can
be outdated or not even read if the connection was interrupted before
read procedure was completed. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +1, -1 |
| a1920af6 |
shared/csip: Fix not requiring encryption
According to CSIS spec all attributes shall require encryption:
'Table 5.1: Coordinated Set Identification Service characteristics' |
Luiz Augusto von Dentz |
2 years ago |
1 file, +10, -4 |
| b938b055 |
shared/csip: Fix returning invalid data to attribute Size reads
The attribute Size value is stored in the size_val not on size member
which represents the attribute object. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +2, -2 |
| 32b6d739 |
doc/set-api: Rename to org.bluez.DeviceSet
This renames set-api.rst to org.bluez.DeviceSet.rst and generate a
manpage org.bluez.DeviceSet.5. |
Luiz Augusto von Dentz |
2 years ago |
3 files, +75, -53 |
| 7a79ff88 |
shared/bap:Update stream enable/disable flow bcast src
Update stream enable/disable flow for BAP broadcast source |
Silviu Florian Barbulescu |
2 years ago |
1 file, +70, -30 |
| ae9bf50a |
shared/csip: Remove bt_csip_add_db
bt_csip_add_db is unused since csip plugin does use bt_csip_new to
properly create the attributes for CSIS. |
Luiz Augusto von Dentz |
2 years ago |
2 files, +0, -7 |
| c488783c |
csip: Fix not registering CSIS service
adapter_probe callback shall register service the plugin wants to
expose which was not the case for csip since it depended on a device to
register the bt_csip instance which is then responsible to register its
attributes, so this change it so there is a dedicated driver for CSIS
which takes care of creating the necessary attributes and associate it
with the adapter so it can be cleanup properly. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +119, -31 |
| 2a61791d |
bap: Fix freeing value of dbus_message_iter_get_fixed_array
The value returned by dbus_message_iter_get_fixed_array is a reference
and shall not be freed:
'The returned value is by reference and should not be freed.' |
Luiz Augusto von Dentz |
2 years ago |
1 file, +22, -9 |
| 8e5142a1 |
client: Make endpoint.show print ISO specific capabilities
This makes endpoint.show print Locations, SupportedContext, Context and
Qos capabilities. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +4, -0 |
| e932ff33 |
bap: Add support for missing MediaEndpoint properties
This adds support for Location, SupportedContext, Context and QoS
properties. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +268, -133 |
| bcd7a6b6 |
shared/bap: Add support for location and contexts to bt_bap_pac_qos
This adds support for location and contexts to bt_bap_pac_qos and
function to read them. |
Luiz Augusto von Dentz |
2 years ago |
2 files, +58, -1 |
| 32afb9df |
doc/MediaEndpoint: Move QoS capabilities to its own dict property
This moves QoS capabilities to its own dict property just as it was done
for MediaTransport QoS configuration. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +57, -75 |
| a6aac75b |
shared/bap: Add support content and contexts to bt_bap_pac_qos
This adds support for setting supported content and contexts on a per
PAC record basis which then is carried over to their respective PACS
attribute and notified properly when changed (added/removed). |
Luiz Augusto von Dentz |
2 years ago |
2 files, +170, -1 |
| 3ca45476 |
doc/media: Convert media-api.rst into manpages
This splits media-api.rst into org.bluez.Media<interface>.rst and
generate manpages for them. |
Luiz Augusto von Dentz |
2 years ago |
9 files, +1292, -1147 |
| 1c79a456 |
client: Make Endpoint.SelectProperties reply properly
This makes Endpoint.SelectProperties reply with QoS property since it
is now a single property. |
Luiz Augusto von Dentz |
2 years ago |
2 files, +153, -109 |
| df75d2f3 |
media: Implement QoS property
This implements QoS as a dict instead of listing each field as
a individual property. |
Luiz Augusto von Dentz |
2 years ago |
3 files, +69, -54 |
| d1bb05e3 |
client: Make transport.show to print QoS configuration
This makes transport.show to print QoS configuration since it is now a
single property:
transport.show <transport>
Transport /org/bluez/hci0/dev_00_AA_01_01_00_03/pac_sink0/fd1
UUID: 00002bcb-0000-1000-8000-00805f9b34fb
Codec: 0x06 (6)
Configuration:
02 01 03 02 02 01 03 04 28 00 ........(.
Device: /org/bluez/hci0/dev_00_AA_01_01_00_03
State: idle
Endpoint: /org/bluez/hci0/dev_00_AA_01_01_00_03/pac_sink0
QoS Key: CIG
QoS Value: 0x00 (0)
QoS Key: CIS
QoS Value: 0x00 (0)
QoS Key: Framing
QoS Value: 0x00 (0)
QoS Key: PresentationDelay
QoS Value: 0x00009c40 (40000)
QoS Key: Interval
QoS Value: 0x00002710 (10000)
QoS Key: Latency
QoS Value: 0x000a (10)
QoS Key: SDU
QoS Value: 0x0028 (40)
QoS Key: PHY
QoS Value: 0x02 (2)
QoS Key: Retransmissions
QoS Value: 0x02 (2)
Location: 0x00000003 (3)
Links: /org/bluez/hci0/dev_00_AA_01_01_00_03/pac_source0/fd0 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +1, -5 |
| 771b19e1 |
transport: Implement QoS property
This implements Transport.QoS as a dict instead of listing each field as
a individual property. |
Luiz Augusto von Dentz |
2 years ago |
8 files, +89, -350 |
| 676e8b0c |
media-api: Update to reflect the last code changes
This reflect the last code changes adding the missing Broadcast
properties. |
Luiz Augusto von Dentz |
2 years ago |
1 file, +138, -41 |
| b05c3fbf |
Release 5.70 |
Marcel Holtmann |
2 years ago |
2 files, +7, -1 |
| 5ab53525 |
pbap: Fix not checking Primary/Secundary Counter length
Primary/Secundary Counters are supposed to be 16 bytes values, if the
server has implemented them incorrectly it may lead to the following
crash:
=================================================================
==31860==ERROR: AddressSanitizer: heap-buffer-overflow on address
0x607000001878 at pc 0x7f95a1575638 bp 0x7fff58c6bb80 sp 0x7fff58c6b328
READ of size 48 at 0x607000001878 thread T0
#0 0x7f95a1575637 in MemcmpInterceptorCommon(void*, int (*)(void const*, void const*, unsigned long), void const*, void const*, unsigned long) ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:860
#1 0x7f95a1575ba6 in __interceptor_memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:892
#2 0x7f95a1575ba6 in __interceptor_memcmp ../../../../src/libsanitizer/sanitizer_common/sanitizer_common_interceptors.inc:887
#3 0x564df69c77a0 in read_version obexd/client/pbap.c:288
#4 0x564df69c77a0 in read_return_apparam obexd/client/pbap.c:352
#5 0x564df69c77a0 in phonebook_size_callback obexd/client/pbap.c:374
#6 0x564df69bea3c in session_terminate_transfer obexd/client/session.c:921
#7 0x564df69d56b0 in get_xfer_progress_first obexd/client/transfer.c:729
#8 0x564df698b9ee in handle_response gobex/gobex.c:1140
#9 0x564df698cdea in incoming_data gobex/gobex.c:1385
#10 0x7f95a12fdc43 in g_main_context_dispatch (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x55c43)
#11 0x7f95a13526c7 (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0xaa6c7)
#12 0x7f95a12fd2b2 in g_main_loop_run (/lib/x86_64-linux-gnu/libglib-2.0.so.0+0x552b2)
#13 0x564df6977d41 in main obexd/src/main.c:307
#14 0x7f95a10a7d8f in __libc_start_call_main ../sysdeps/nptl/libc_start_call_main.h:58
#15 0x7f95a10a7e3f in __libc_start_main_impl ../csu/libc-start.c:392
#16 0x564df6978704 in _start (/usr/local/libexec/bluetooth/obexd+0x8b704)
0x607000001878 is located 0 bytes to the right of 72-byte region [0x607000001830,0x607000001878)
allocated by thread T0 here:
#0 0x7f95a1595a37 in __interceptor_calloc ../../../../src/libsanitizer/asan/asan_malloc_linux.cpp:154
#1 0x564df69c8b6a in pbap_probe obexd/client/pbap.c:1259 |
Luiz Augusto von Dentz |
2 years ago |
1 file, +3, -2 |
| a2d47ef0 |
vhci: Check whether vhci open setup succeeded
Due to race condition in the vhci kernel driver, we might read not a
vendor response packet, but a HCI reset command. This extra check will
ensure that kernel driver behaves correctly. Otherwise, the HCI setup
process will fail, because our controller will not respond to "missing"
HCI reset command. In result the virtual HCI will be DOWN and without
initialized Bluetooth address, e.g:
> hciconfig
hci2: Type: Primary Bus: Virtual
BD Address: 00:AA:01:01:00:02 ACL MTU: 192:1 SCO MTU: 0:0
UP RUNNING
RX bytes:0 acl:0 sco:0 events:66 errors:0
TX bytes:3086 acl:0 sco:0 commands:66 errors:0
hci1: Type: Primary Bus: Virtual
BD Address: 00:00:00:00:00:00 ACL MTU: 0:0 SCO MTU: 0:0
DOWN
RX bytes:0 acl:0 sco:0 events:0 errors:0
TX bytes:8 acl:0 sco:0 commands:1 errors:0
> dmesg
[1754256.640122] Bluetooth: MGMT ver 1.22
[1754263.023806] Bluetooth: MGMT ver 1.22
[1754265.043775] Bluetooth: hci1: Opcode 0x c03 failed: -110 |
Arkadiusz Bokowy |
2 years ago |
1 file, +4, -2 |
| f479c240 |
media-api: Convert to ReStructuredText format
This converts media-api.txt to media-api.rst. |
Luiz Augusto von Dentz |
2 years ago |
5 files, +1050, -892 |
| 7f788a2c |
hciemu: Call btdev_receive_h4 unconditionally
Calling btdev_receive_h4 without prior logic will allow this function
to print some debug logs. E.g.: in case when the received packet type
is not supported.
> Bluetooth emulator ver 5.66
> vhci0: > ff 00 01 00 ....
> vhci0: Unsupported packet 0xff |
Arkadiusz Bokowy |
2 years ago |
2 files, +2, -16 |
| eb9eaf01 |
emulator: Skip new line when using util_debug
The debug callback vhci_debug() already prints new line after each debug
string. Explicit new line in the util_debug call causes double new line
in the output. |
Arkadiusz Bokowy |
2 years ago |
1 file, +6, -5 |
| 6169001a |
shared/log: Fix not checking vasprintf return
It seems like some implementation of vasprintf set the content of the
str to NULL rather then returning -1 causing the following errors:
=================================================================
==216204==ERROR: AddressSanitizer: attempting free on address which
was not malloc()-ed: 0x55e787722cf0 in thread T0
#0 0x55e784f75872 in __interceptor_free.part.0 asan_malloc_linux.cpp.o
#1 0x55e7850e55f9 in bt_log_vprintf
/usr/src/debug/bluez-git/bluez-git/src/shared/log.c:154:2
#2 0x55e78502db18 in monitor_log
/usr/src/debug/bluez-git/bluez-git/src/log.c:40:2
#3 0x55e78502dab4 in info
/usr/src/debug/bluez-git/bluez-git/src/log.c:52:2
#4 0x55e78502e314 in __btd_log_init
/usr/src/debug/bluez-git/bluez-git/src/log.c:179:2
#5 0x55e78502aa63 in main
/usr/src/debug/bluez-git/bluez-git/src/main.c:1388:2
#6 0x7f1d5fe27ccf (/usr/lib/libc.so.6+0x27ccf) (BuildId:
316d0d3666387f0e8fb98773f51aa1801027c5ab)
#7 0x7f1d5fe27d89 in __libc_start_main
(/usr/lib/libc.so.6+0x27d89) (BuildId:
316d0d3666387f0e8fb98773f51aa1801027c5ab)
#8 0x55e784e88084 in _start
(/usr/lib/bluetooth/bluetoothd+0x36084) (BuildId:
19348ea642303b701c033d773055becb623fe79a)
Address 0x55e787722cf0 is a wild pointer inside of access range of
size 0x000000000001.
SUMMARY: AddressSanitizer: bad-free asan_malloc_linux.cpp.o in
__interceptor_free.part.0
==216204==ABORTING
сен 18 13:10:02 archlinux systemd[1]: bluetooth.service: Main process
exited, code=exited, status=1/FAILURE |
Luiz Augusto von Dentz |
2 years ago |
1 file, +1, -1 |
| 04e18c0d |
configure.ac: Add enable_btpclient and enable_mesh for internal ELL
when checking enable_external_ell != 'yes',
even enable_btpclient and enable_mesh are not enabled.
configure still prompt the error.
Then ELL must be installed to pass the configure. |
Koba Ko |
2 years ago |
1 file, +2, -1 |
| 7b9d2f3c |
l2cap-tester: Add tests for connection timeout
This adds the following tests which attempts to use SO_SNDTIMEO so the
socket times out before the connection completes:
L2CAP BR/EDR Client - Timeout
L2CAP LE Client - Timeout
L2CAP Ext-Flowctl Client - Timeout |
Luiz Augusto von Dentz |
2 years ago |
1 file, +80, -2 |
| d46f91c5 |
l2cap-tester: Add tests for closing socket before connection completes
This adds the following tests which attempts to close/shutdown the
socket before the connection completes:
L2CAP BR/EDR Client - Close
L2CAP LE Client - Close
L2CAP Ext-Flowctl Client - Close |
Luiz Augusto von Dentz |
2 years ago |
1 file, +74, -0 |