| 99deeea8 |
btmon: Decode Broadcast Name
This adds support for decoding Broadcast Name:
> HCI Event: LE Meta Event (0x3e) plen 57
LE Extended Advertising Report (0x0d)
Num reports: 1
Entry 0
Event type: 0x0000
Props: 0x0000
Data status: Complete
Address type: Random (0x01)
Address: XX:XX:XX:XX:XX:XX (Non-Resolvable)
Primary PHY: LE 1M
Secondary PHY: LE 2M
SID: 0x02
TX power: 127 dBm
RSSI: -67 dBm (0xbd)
Periodic advertising interval: 180.00 msec (0x0090)
Direct address type: Public (0x00)
Direct address: 00:00:00:00:00:00 (OUI 00-00-00)
Data length: 0x1f
06 16 52 18 2f 92 f3 05 16 56 18 04 00 11 30 4c ..R./....V....0L
75 69 7a 27 73 20 53 32 33 20 55 6c 74 72 61 uiz's S23 Ultra
Service Data: Broadcast Audio Announcement (0x1852)
Broadcast ID: 15962671 (0xf3922f)
Service Data: Public Broadcast Announcement (0x1856)
Data[2]: 0400
Broadcast Name: Luiz's S23 Ultra |
Luiz Augusto von Dentz |
8 months ago |
1 file, +7, -0 |
| d5ef5730 |
bap: don't track streams without setup except for ucast server
data->streams is is used for determining which streams can connect to
listening socket. This stream list is specific to ucast server.
Rename the variable to data->server_streams, and only put ucast server
streams there.
Fixes data->streams accumulating dead stream pointers. |
Pauli Virtanen |
8 months ago |
1 file, +10, -14 |
| 578a6fd6 |
shared/bap: fix crash when removing PAC
When PAC is removed, streams need to go through RELEASING flow, which in
some cases is not immediate. Access to stream->lpac is UAF during this
time, e.g. in profiles/audio/bap.c:bap_find_setup_by_stream
Allow stream->lpac == NULL. This should occur only if stream is
RELEASING.
When releasing streams due to removed PAC, do RELEASING->IDLE as we
can't cache config then. |
Pauli Virtanen |
8 months ago |
1 file, +42, -10 |
| 73ae3fb9 |
shared/gatt-db: fix crash on bad attribute index in get_char_data
Fix AddressSanitizer: heap-buffer-overflow when index == 0. |
Pauli Virtanen |
8 months ago |
1 file, +2, -2 |
| e3c5f605 |
workflows: Add stale action
This adds stale action to which marks github issues as stale after 30
days of inactivity, after an issue is marked as stale if it remais
stale for another 5 days then it is marked as closed. |
Luiz Augusto von Dentz |
8 months ago |
1 file, +14, -0 |
| 8d472b87 |
obexd: only run one instance at once
Obex is a device-oriented protocol, so only one instance can run per device.
But Linux file security is user-oriented, so obexd should be a user service.
Tell systemd to only run this service for the first non-system user to log in.
Without this patch, errors like the following will occur if you
use the "switch account" feature of your desktop environment,
then log in with another account:
Mar 26 15:20:38 andrews-2024-laptop bluetoothd[873]: src/profile.c:register_profile() :1.2016 tried to register 00001133-0000-1000-8000-00805f9b34fb which is already registered
Mar 26 15:20:38 andrews-2024-laptop bluetoothd[873]: src/profile.c:register_profile() :1.2016 tried to register 00001132-0000-1000-8000-00805f9b34fb which is already registered
Mar 26 15:20:38 andrews-2024-laptop bluetoothd[873]: src/profile.c:register_profile() :1.2016 tried to register 0000112f-0000-1000-8000-00805f9b34fb which is already registered
Mar 26 15:20:38 andrews-2024-laptop bluetoothd[873]: src/profile.c:register_profile() :1.2016 tried to register 00001104-0000-1000-8000-00805f9b34fb which is already registered
Mar 26 15:20:38 andrews-2024-laptop bluetoothd[873]: src/profile.c:register_profile() :1.2016 tried to register 00001106-0000-1000-8000-00805f9b34fb which is already registered
Mar 26 15:20:38 andrews-2024-laptop bluetoothd[873]: src/profile.c:register_profile() :1.2016 tried to register 00001105-0000-1000-8000-00805f9b34fb which is already registered
Mar 26 15:20:38 andrews-2024-laptop bluetoothd[873]: src/profile.c:register_profile() :1.2016 tried to register 00005005-0000-1000-8000-0002ee000001 which is already registered
Mar 26 15:20:38 andrews-2024-laptop obexd[1795560]: bluetooth: RequestProfile error: org.bluez.Error.NotPermitted, UUID already registered
Mar 26 15:20:38 andrews-2024-laptop obexd[1795560]: bluetooth: RequestProfile error: org.bluez.Error.NotPermitted, UUID already registered
Mar 26 15:20:38 andrews-2024-laptop obexd[1795560]: bluetooth: RequestProfile error: org.bluez.Error.NotPermitted, UUID already registered
Mar 26 15:20:38 andrews-2024-laptop obexd[1795560]: bluetooth: RequestProfile error: org.bluez.Error.NotPermitted, UUID already registered
Mar 26 15:20:38 andrews-2024-laptop obexd[1795560]: bluetooth: RequestProfile error: org.bluez.Error.NotPermitted, UUID already registered
Mar 26 15:20:38 andrews-2024-laptop obexd[1795560]: bluetooth: RequestProfile error: org.bluez.Error.NotPermitted, UUID already registered
Mar 26 15:20:38 andrews-2024-laptop obexd[1795560]: bluetooth: RequestProfile error: org.bluez.Error.NotPermitted, UUID already registered
The above errors indicate the service completely failed to register, so this
does not change the user experience beyond removing the above messages.
Specifically, the first user who logs in to a multi-user system still retains
obex access to devices paired by users who log in later.
This is based on a pair of recent changes to the FluidSynth daemon:
https://github.com/FluidSynth/fluidsynth/pull/1491
https://github.com/FluidSynth/fluidsynth/pull/1528
This was discussed in the comments for a GitHub advisory available at
https://github.com/bluez/bluez/security/advisories/GHSA-fpgq-25xf-jcwv
but comments are not shown in the published version of the advisory.
To summarise the useful conversation with Luiz Augusto von Dentz:
Obex requires access to the user's home directory, so an attacker can only
transfer files between locations the user controls. That may be a problem
if the user who runs obexd is different to the user who paired the device,
but solving that would involve pairing per-user, which causes other problems.
Bluetooth connections can be initiated by peripherals, so switching user could
trigger re-pairing and cause the original user to lose access to the device.
This may seem reasonable for file access, but for example users would likely
object to constantly re-pairing their Bluetooth keyboard. |
Andrew Sayers |
8 months ago |
1 file, +9, -0 |
| 2a569ec8 |
mesh: Fix build errors when compiling on fc42
./mesh/crypto.c: In function ‘mesh_crypto_device_key’:
./mesh/crypto.c:436:33: error: initializer-string for array of ‘unsigned char’ truncates NUL terminator but destination lacks ‘nonstring’ attribute (5 chars into 4 available) [-Werror=unterminated-string-initialization]
436 | const uint8_t prdk[4] = "prdk";
| ^~~~~~ |
Luiz Augusto von Dentz |
8 months ago |
2 files, +8, -8 |
| e501c8ab |
shared/shell: Fix build errors in fc42
This fixes the following errors:
src/shared/shell.c: In function 'rl_cleanup':
src/shared/shell.c:1429:20: error: zero-length gnu_printf format string [-Werror=format-zero-length]
1429 | rl_message("");
| ^~ |
Luiz Augusto von Dentz |
8 months ago |
1 file, +1, -1 |
| aedd7b93 |
bap: Add support for using SID for broadcast receiver
Broadcast receiver needs to set the SID of the advertisement, for now
that is done by using 0xff which indicates to the kernel to perform to
discover what is the actual SID in use over the air. |
Luiz Augusto von Dentz |
9 months ago |
4 files, +42, -31 |
| 64e7377d |
btio: Add support to BT_IO_OPT_ISO_BC_SID to bt_io_get
This adds support for reading BT_IO_OPT_ISO_BC_SID using bt_io_get |
Luiz Augusto von Dentz |
9 months ago |
1 file, +28, -1 |
| b4c5300f |
iso-tester: Test getpeername return SID
If test is not setting a valid SID (0xff) use getpeername to validate
the SID gets updated. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +34, -0 |
| 7e67dc9d |
iso-tester: Add test for SID=0xff
This adds the following test which is used to verify that when
application sets bc_sid to 0xff the kernel will attempt to scan for a
valid SID before attempting to create the PA sync:
ISO Broadcaster Receiver SID 0xff |
Luiz Augusto von Dentz |
9 months ago |
1 file, +16, -0 |
| e5a27a9c |
btdev: Fix not matching SID on le_pa_sync_estabilished
In order to estabilish a PA sync the advertising SID must match:
7.8.67. LE Periodic Advertising Create Sync command:
'The Advertising_SID parameter, if used, specifies the value that shall match
the Advertising SID subfield in the ADI field of the received advertisement
for it to be used to synchronize.' |
Luiz Augusto von Dentz |
9 months ago |
1 file, +23, -3 |
| 709aa00a |
btdev: Check for valid SID on BT_HCI_CMD_LE_PA_CREATE_SYNC |
Luiz Augusto von Dentz |
9 months ago |
1 file, +6, -0 |
| 890149c1 |
bap: Fix not setting SID for broadcast receiver
SID most be set otherwise 0x00 is assume which may not be what the
broadcast source is using over the air. but since we don't have access
to the SID of the advertisement in userspace mark de SID as invalid
(0xff) so the kernel fill it up while scanning when creating the PA
sync. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +2, -0 |
| f8e7bcfd |
btdev: Fix checking for BR/EDR scan enable rather than LE for PA
PA is exclusive to LE so le_scan_enable flag shall be checked not
scan_enable. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +1, -1 |
| 0b3d49f4 |
policy: fix HSP/HFP reconnection
This patch removes checking whether A2DP service initiates the
connection starting HSP/HFP connection, instead just start timer
when HSP/HFP is not connected, also move order so that setting
HSP/HFP connection timer is not blocked by AVRCP connection.
The previous patch also did not get HSP service if HFP is not
available. This patch adds it in. |
Yao Wei (魏銘廷) |
9 months ago |
1 file, +8, -10 |
| 1288facd |
doc: Fix various typos in D-Bus interface documentation |
Arkadiusz Bokowy |
9 months ago |
11 files, +17, -18 |
| 9f167d49 |
bap: don't consider TX timestamps as errors
Use io_add_err_watch to avoid considering TX timestamps as errors in the
transport io channel. |
Pauli Virtanen |
9 months ago |
2 files, +10, -14 |
| 0e831d8e |
avdtp: don't consider TX timestamps as errors
Use io_add_err_watch to avoid considering TX timestamps as errors in the
transport io channel. |
Pauli Virtanen |
9 months ago |
1 file, +3, -6 |
| b19d445b |
shared/io: add watcher to be used with TX timestamping
Add special implementation of fd watcher GSource for audio use.
For audio use cases, sound server may turn on TX timestamping on a
socket that we are watching. In this case, we shall not consider the TX
timestamping POLLERR as a socket error condition, nor read the TX
timestamps.
When TX timestamps appear in errqueue, switch from fd poll wait to
polling the fd at regular intervals. This is because unread errqueue
causes poll() to wake up immediately, so the mainloop cannot block on
that, and we have to use a timer instead with some reasonable timeout
for the use case.
This rate limits wakeups on new TX timestamps we aren't going to read,
and also avoids the busy looping if timestamping was left on but
errqueue is not flushed.
Kernel does not provide any way for user applications to disable wakeup
on POLLERR currently. Note that even with epoll() POLLET it still wakes
up on every timestamp.
Implement this only for io-glib; it is only needed for audio use cases
that anyway are using glib, so add a glib-specific API for it in
addition to the 'struct io *' one. Uses features from GLib 2.36 (from
2013) so update configure.ac also. |
Pauli Virtanen |
9 months ago |
6 files, +216, -4 |
| 956b277f |
test-bap: Fix test names
This fixes the test names so the are accourding to the testing
specification. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +56, -56 |
| e367244e |
test-bap: Introduce USR/STR tests for LC3
Unicast Server Streaming – 1 Stream, 1 CIS – LC3
Test Purpose:
Verify that a Unicast Server IUT can stream LC3-encoded audio data over one
unicast Audio Stream to/from a Unicast Client.
Pass verdict:
If the IUT is in the Audio Source role, the IUT sends SDUs with a zero or
more length, using the LC3 Media Packet format (defined in [3] Section 4.2).
If the IUT is in the Audio Sink role, the IUT receives SDUs with a zero or
more length, using the LC3 Media Packet format (defined in [3] Section 4.2)
Test Summary
------------
BAP/USR/STR/BV-001-C [USR, AC 2, LC3 8_1_1] Passed
BAP/USR/STR/BV-002-C [USR, AC 10, LC3 8_1_1] Passed
BAP/USR/STR/BV-003-C [USR, AC 2, LC3 8_2_1] Passed
BAP/USR/STR/BV-004-C [USR, AC 10, LC3 8_2_1] Passed
BAP/USR/STR/BV-005-C [USR, AC 2, LC3 16_1_1] Passed
BAP/USR/STR/BV-006-C [USR, AC 10, LC3 16_1_1] Passed
BAP/USR/STR/BV-007-C [USR, AC 2, LC3 16_2_1] Passed
BAP/USR/STR/BV-008-C [USR, AC 10, LC3 16_2_1] Passed
BAP/USR/STR/BV-009-C [USR, AC 2, LC3 24_1_1] Passed
BAP/USR/STR/BV-010-C [USR, AC 10, LC3 24_1_1] Passed
BAP/USR/STR/BV-011-C [USR, AC 2, LC3 24_2_1] Passed
BAP/USR/STR/BV-012-C [USR, AC 10, LC3 24_2_1] Passed
BAP/USR/STR/BV-013-C [USR, AC 2, LC3 32_1_1] Passed
BAP/USR/STR/BV-014-C [USR, AC 10, LC3 32_1_1] Passed
BAP/USR/STR/BV-015-C [USR, AC 2, LC3 32_2_1] Passed
BAP/USR/STR/BV-016-C [USR, AC 10, LC3 32_2_1] Passed
BAP/USR/STR/BV-017-C [USR, AC 2, LC3 441_1_1] Passed
BAP/USR/STR/BV-018-C [USR, AC 10, LC3 441_1_1] Passed
BAP/USR/STR/BV-019-C [USR, AC 2, LC3 44_2_1] Passed
BAP/USR/STR/BV-020-C [USR, AC 10, LC3 44_2_1] Passed
BAP/USR/STR/BV-021-C [USR, AC 2, LC3 48_1_1] Passed
BAP/USR/STR/BV-022-C [USR, AC 10, LC3 48_1_1] Passed
BAP/USR/STR/BV-023-C [USR, AC 2, LC3 48_2_1] Passed
BAP/USR/STR/BV-024-C [USR, AC 10, LC3 48_2_1] Passed
BAP/USR/STR/BV-025-C [USR, AC 2, LC3 48_3_1] Passed
BAP/USR/STR/BV-026-C [USR, AC 10, LC3 48_3_1] Passed
BAP/USR/STR/BV-027-C [USR, AC 2, LC3 48_4_1] Passed
BAP/USR/STR/BV-028-C [USR, AC 10, LC3 48_4_1] Passed
BAP/USR/STR/BV-029-C [USR, AC 2, LC3 48_5_1] Passed
BAP/USR/STR/BV-030-C [USR, AC 10, LC3 48_5_1] Passed
BAP/USR/STR/BV-031-C [USR, AC 2, LC3 48_6_1] Passed
BAP/USR/STR/BV-032-C [USR, AC 10, LC3 48_6_1] Passed
BAP/USR/STR/BV-033-C [USR, SRC, AC 1, LC3 8_1_1] Passed
BAP/USR/STR/BV-034-C [USR, SRC, AC 4, LC3 8_1_1] Passed
BAP/USR/STR/BV-035-C [USR, SRC, AC 1, LC3 8_2_1] Passed
BAP/USR/STR/BV-036-C [USR, SRC, AC 4, LC3 8_2_1] Passed
BAP/USR/STR/BV-037-C [USR, SRC, AC 1, LC3 16_1_1] Passed
BAP/USR/STR/BV-038-C [USR, SRC, AC 4, LC3 16_1_1] Passed
BAP/USR/STR/BV-039-C [USR, SRC, AC 1, LC3 16_2_1] Passed
BAP/USR/STR/BV-040-C [USR, SRC, AC 4, LC3 16_2_1] Passed
BAP/USR/STR/BV-041-C [USR, SRC, AC 1, LC3 24_1_1] Passed
BAP/USR/STR/BV-042-C [USR, SRC, AC 4, LC3 24_1_1] Passed
BAP/USR/STR/BV-043-C [USR, SRC, AC 1, LC3 24_2_1] Passed
BAP/USR/STR/BV-044-C [USR, SRC, AC 4, LC3 24_2_1] Passed
BAP/USR/STR/BV-045-C [USR, SRC, AC 1, LC3 32_1_1] Passed
BAP/USR/STR/BV-046-C [USR, SRC, AC 4, LC3 32_1_1] Passed
BAP/USR/STR/BV-047-C [USR, SRC, AC 1, LC3 32_2_1] Passed
BAP/USR/STR/BV-048-C [USR, SRC, AC 4, LC3 32_2_1] Passed
BAP/USR/STR/BV-049-C [USR, SRC, AC 1, LC3 44_1_1] Passed
BAP/USR/STR/BV-050-C [USR, SRC, AC 4, LC3 44_1_1] Passed
BAP/USR/STR/BV-051-C [USR, SRC, AC 1, LC3 44_2_1] Passed
BAP/USR/STR/BV-052-C [USR, SRC, AC 4, LC3 44_2_1] Passed
BAP/USR/STR/BV-053-C [USR, SRC, AC 1, LC3 48_1_1] Passed
BAP/USR/STR/BV-054-C [USR, SRC, AC 4, LC3 48_1_1] Passed
BAP/USR/STR/BV-055-C [USR, SRC, AC 1, LC3 48_2_1] Passed
BAP/USR/STR/BV-056-C [USR, SRC, AC 4, LC3 48_2_1] Passed
BAP/USR/STR/BV-057-C [USR, SRC, AC 1, LC3 48_3_1] Passed
BAP/USR/STR/BV-058-C [USR, SRC, AC 4, LC3 48_3_1] Passed
BAP/USR/STR/BV-059-C [USR, SRC, AC 1, LC3 48_4_1] Passed
BAP/USR/STR/BV-060-C [USR, SRC, AC 4, LC3 48_4_1] Passed
BAP/USR/STR/BV-061-C [USR, SRC, AC 1, LC3 48_5_1] Passed
BAP/USR/STR/BV-062-C [USR, SRC, AC 4, LC3 48_5_1] Passed
BAP/USR/STR/BV-063-C [USR, SRC, AC 1, LC3 48_6_1] Passed
BAP/USR/STR/BV-064-C [USR, SRC, AC 4, LC3 48_6_1] Passed
BAP/USR/STR/BV-065-C [USR, AC 2, LC3 8_1_2] Passed
BAP/USR/STR/BV-066-C [USR, AC 10, LC3 8_1_2] Passed
BAP/USR/STR/BV-067-C [USR, AC 2, LC3 8_2_2] Passed
BAP/USR/STR/BV-068-C [USR, AC 10, LC3 8_2_2] Passed
BAP/USR/STR/BV-069-C [USR, AC 2, LC3 16_1_2] Passed
BAP/USR/STR/BV-070-C [USR, AC 10, LC3 16_1_2] Passed
BAP/USR/STR/BV-071-C [USR, AC 2, LC3 16_2_2] Passed
BAP/USR/STR/BV-072-C [USR, AC 10, LC3 16_2_2] Passed
BAP/USR/STR/BV-073-C [USR, AC 2, LC3 24_1_2] Passed
BAP/USR/STR/BV-074-C [USR, AC 10, LC3 24_1_2] Passed
BAP/USR/STR/BV-075-C [USR, AC 2, LC3 24_2_2] Passed
BAP/USR/STR/BV-076-C [USR, AC 10, LC3 24_2_2] Passed
BAP/USR/STR/BV-077-C [USR, AC 2, LC3 32_1_2] Passed
BAP/USR/STR/BV-078-C [USR, AC 10, LC3 32_1_2] Passed
BAP/USR/STR/BV-079-C [USR, AC 2, LC3 32_2_2] Passed
BAP/USR/STR/BV-080-C [USR, AC 10, LC3 32_2_2] Passed
BAP/USR/STR/BV-081-C [USR, AC 2, LC3 44_1_2] Passed
BAP/USR/STR/BV-082-C [USR, AC 10, LC3 44_1_2] Passed
BAP/USR/STR/BV-083-C [USR, AC 2, LC3 44_2_2] Passed
BAP/USR/STR/BV-084-C [USR, AC 10, LC3 44_2_2] Passed
BAP/USR/STR/BV-085-C [USR, AC 2, LC3 48_1_2] Passed
BAP/USR/STR/BV-086-C [USR, AC 10, LC3 48_1_2] Passed
BAP/USR/STR/BV-087-C [USR, AC 2, LC3 48_2_2] Passed
BAP/USR/STR/BV-088-C [USR, AC 10, LC3 48_2_2] Passed
BAP/USR/STR/BV-089-C [USR, AC 2, LC3 48_3_2] Passed
BAP/USR/STR/BV-090-C [USR, AC 10, LC3 48_3_2] Passed
BAP/USR/STR/BV-091-C [USR, AC 2, LC3 48_4_2] Passed
BAP/USR/STR/BV-092-C [USR, AC 10, LC3 48_4_2] Passed
BAP/USR/STR/BV-093-C [USR, AC 2, LC3 48_5_2] Passed
BAP/USR/STR/BV-094-C [USR, AC 10, LC3 48_5_2] Passed
BAP/USR/STR/BV-095-C [USR, AC 2, LC3 48_6_2] Passed
BAP/USR/STR/BV-096-C [USR, AC 10, LC3 48_6_2] Passed
BAP/USR/STR/BV-097-C [USR, SRC, AC 1, LC3 8_1_2] Passed
BAP/USR/STR/BV-098-C [USR, SRC, AC 4, LC3 8_1_2] Passed
BAP/USR/STR/BV-099-C [USR, SRC, AC 1, LC3 8_2_2] Passed
BAP/USR/STR/BV-100-C [USR, SRC, AC 4, LC3 8_2_2] Passed
BAP/USR/STR/BV-101-C [USR, SRC, AC 1, LC3 16_1_2] Passed
BAP/USR/STR/BV-102-C [USR, SRC, AC 4, LC3 16_1_2] Passed
BAP/USR/STR/BV-103-C [USR, SRC, AC 1, LC3 16_2_2] Passed
BAP/USR/STR/BV-104-C [USR, SRC, AC 4, LC3 16_2_2] Passed
BAP/USR/STR/BV-105-C [USR, SRC, AC 1, LC3 24_1_2] Passed
BAP/USR/STR/BV-106-C [USR, SRC, AC 4, LC3 24_1_2] Passed
BAP/USR/STR/BV-107-C [USR, SRC, AC 1, LC3 24_2_2] Passed
BAP/USR/STR/BV-108-C [USR, SRC, AC 4, LC3 24_2_2] Passed
BAP/USR/STR/BV-109-C [USR, SRC, AC 1, LC3 32_1_2] Passed
BAP/USR/STR/BV-110-C [USR, SRC, AC 4, LC3 32_1_2] Passed
BAP/USR/STR/BV-111-C [USR, SRC, AC 1, LC3 32_2_2] Passed
BAP/USR/STR/BV-112-C [USR, SRC, AC 4, LC3 32_2_2] Passed
BAP/USR/STR/BV-113-C [USR, SRC, AC 1, LC3 44_1_2] Passed
BAP/USR/STR/BV-114-C [USR, SRC, AC 4, LC3 44_1_2] Passed
BAP/USR/STR/BV-115-C [USR, SRC, AC 1, LC3 44_2_2] Passed
BAP/USR/STR/BV-116-C [USR, SRC, AC 4, LC3 44_2_2] Passed
BAP/USR/STR/BV-117-C [USR, SRC, AC 1, LC3 48_1_2] Passed
BAP/USR/STR/BV-118-C [USR, SRC, AC 4, LC3 48_1_2] Passed
BAP/USR/STR/BV-119-C [USR, SRC, AC 1, LC3 48_2_2] Passed
BAP/USR/STR/BV-120-C [USR, SRC, AC 4, LC3 48_2_2] Passed
BAP/USR/STR/BV-121-C [USR, SRC, AC 1, LC3 48_3_2] Passed
BAP/USR/STR/BV-122-C [USR, SRC, AC 4, LC3 48_3_2] Passed
BAP/USR/STR/BV-123-C [USR, SRC, AC 1, LC3 48_4_2] Passed
BAP/USR/STR/BV-124-C [USR, SRC, AC 4, LC3 48_4_2] Passed
BAP/USR/STR/BV-121-C [USR, SRC, AC 1, LC3 48_5_2] Passed
BAP/USR/STR/BV-122-C [USR, SRC, AC 4, LC3 48_5_2] Passed
BAP/USR/STR/BV-123-C [USR, SRC, AC 1, LC3 48_6_2] Passed
BAP/USR/STR/BV-124-C [USR, SRC, AC 4, LC3 48_6_2] Passed
Total: 128, Passed: 128 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +429, -11 |
| ed9fb8ae |
shared/tester: Fix not detecting NULL packets
When receiving packets if the iovec is NULL it means it shall be
skipped. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +3, -0 |
| 713655c1 |
shared/bap: Fix notifying with the wrong state
stream_notify_metadata is reused by a couple of states so it needs to
pass on the actual state to be notified rather than using ep->state
which may have been transitioned already. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +3, -3 |
| 7d4fc802 |
test-bap: Introduce USR/SCC Metadata tests for LC3
Unicast Server Performs Update Metadata Operation
Test Purpose:
Verify that a Unicast Server IUT can perform an Update Metadata operation
initiated by a Unicast Client.
Pass verdict:
The IUT sends a notification of the ASE Control Point characteristic with
Response_Code set to Success (0x00) for the requested ASE_ID and opcode.
Test Summary
------------
BAP/USR/SCC/BV-161-C [USR SRC Update Metadata in Enabling State] Passed
BAP/USR/SCC/BV-162-C [USR SNK Update Metadata in Enabling or Streaming state] Passed
BAP/USR/SCC/BV-163-C [USR SRC Update Metadata in Streaming State] Passed
Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +44, -12 |
| ae5fe4aa |
shared/bap: Fix not sending ASE Notication in case of Metadata update
Tests such if metadata update requires the server to generate ASE
notification on Update Metadata operation. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +3, -0 |
| da110920 |
test-bap: Introduce USR/SCC Release tests for LC3
Unicast Server Performs Client-Initiated Release Operation
Test Purpose:
Verify the behavior of a Unicast Server IUT when a Unicast Client initiates
a Release operation.
Pass verdict:
The IUT sends a notification of the ASE Control Point characteristic value.
Test Summary
------------
BAP/USR/SCC/BV-143-C [USR SRC Release in Codec Configured state] Passed
BAP/USR/SCC/BV-144-C [USR SNK Release in Codec Configured state] Passed
BAP/USR/SCC/BV-145-C [USR SRC Release in QoS Configured state] Passed
BAP/USR/SCC/BV-146-C [USR SNK Release in QoS Configured state] Passed
BAP/USR/SCC/BV-147-C [USR SRC Release in Enabling state] Passed
BAP/USR/SCC/BV-148-C [USR SNK Release in Enabling or Streaming state] Passed
BAP/USR/SCC/BV-149-C [USR SRC Release in Streaming state] Passed
BAP/USR/SCC/BV-150-C [USR SRC Release in Disabling state] Passed
Total: 8, Passed: 8 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +49, -7 |
| 15fd57f2 |
shared/bap: Fix not notifying idle state
The idle state must be notified like any other state. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +16, -0 |
| dfebcc9c |
shared/bap: Fix not always sending Releasing state
In order for states to be sent the stream cannot be freed since
pending_states could be pending due to be processing a CP operation, so
this attempts to grap a reference to the stream so it is not freed
while states are pending. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +16, -16 |
| 88cacb8f |
test-bap: Introduce USR/SCC Enable tests for LC3
Unicast Server Performs Client-Initiated Disable Operation
Test Purpose:
Verify that a Unicast Server IUT can perform a client-initiated Disable
operation for an ASE in the Enabling or Streaming state.
Pass verdict:
The IUT sends a notification of the ASE Control Point characteristic.
Test Summary
------------
BAP/USR/SCC/BV-137-C [USR SRC Disable in Enabling State] Passed
BAP/USR/SCC/BV-138-C [USR SNK Disable in Enabling or Streaming state] Passed
BAP/USR/SCC/BV-139-C [USR SRC Disable in Streaming State] Passed
Total: 3, Passed: 3 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +34, -6 |
| f2e71754 |
test-bap: Introduce USR/SCC Enable tests for LC3
Unicast Server Performs Client-Initiated Enable Operation
Test Purpose:
Verify that a Unicast Server IUT can handle a client-initiated Enable
operation for an ASE with a Unicast Client that is either in the Audio Sink
role or the Audio Source role.
Pass verdict:
The IUT sends a notification of the ASE Control Point characteristic with
Response_Code set to 0x00 (Success) for the requested ASE_ID and opcode.
Test Summary
------------
BAP/USR/SCC/BV-135-C [USR SNK Enable] Passed
BAP/USR/SCC/BV-136-C [UCL SRC Enable] Passed
Total: 2, Passed: 2 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +29, -2 |
| fd454906 |
test-bap: Introduce USR/SCC QoS tests for VS
Unicast Server Performs Config QoS – Vendor-Specific
Test Purpose:
Verify that a Unicast Server IUT can handle a Config QoS operation for a
vendor-specific codec.
Pass verdict:
The IUT sends a notification of the ASE Control Point characteristic with
Response_Code set to Success (0x00) for the requested ASE_ID and opcode
Test Summary
------------
BAP/USR/SCC/BV-133-C [USR SNK Config QoS, VS] Passed
BAP/USR/SCC/BV-134-C [USR SRC Config QoS, VS] Passed
Total: 2, Passed: 2 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +29, -3 |
| 8890cd71 |
test-bap: Introduce USR/SCC QoS tests for LC3
Unicast Server Performs Config QoS – LC3
Test Purpose:
Verify that a Unicast Server IUT can perform a Config QoS operation
initiated by a Unicast Client for the LC3 codec.
Pass verdict:
In step 2, the IUT sends a notification of the ASE Control Point
characteristic with Response_Code set to Success (0x00) for the requested
ASE_ID and opcode.
In step 3, the notified ASE characteristic value is correctly formatted, has
the ASE_ID field set to Test_ASE_ID, the ASE_State field set to 0x02
(QoS Configured), and the Additional_ASE_Parameters field containing the
CIG_ID, CIS_ID, and QoS configuration values requested in step 2.
Test Summary
------------
BAP/USR/SCC/BV-069-C [USR SNK Config QoS, LC3 8_1_1] Passed
BAP/USR/SCC/BV-070-C [USR SNK Config QoS, LC3 8_2_1] Passed
BAP/USR/SCC/BV-071-C [USR SNK Config QoS, LC3 16_1_1] Passed
BAP/USR/SCC/BV-072-C [USR SNK Config QoS, LC3 16_2_1] Passed
BAP/USR/SCC/BV-073-C [USR SNK Config QoS, LC3 24_1_1] Passed
BAP/USR/SCC/BV-074-C [USR SNK Config QoS, LC3 24_2_1] Passed
BAP/USR/SCC/BV-075-C [USR SNK Config QoS, LC3 32_1_1] Passed
BAP/USR/SCC/BV-076-C [USR SNK Config QoS, LC3 32_2_1] Passed
BAP/USR/SCC/BV-077-C [USR SNK Config QoS, LC3 44.1_1_1] Passed
BAP/USR/SCC/BV-078-C [USR SNK Config QoS, LC3 44.1_2_1] Passed
BAP/USR/SCC/BV-079-C [USR SNK Config QoS, LC3 48_1_1] Passed
BAP/USR/SCC/BV-080-C [USR SNK Config QoS, LC3 48_2_1] Passed
BAP/USR/SCC/BV-081-C [USR SNK Config QoS, LC3 48_3_1] Passed
BAP/USR/SCC/BV-082-C [USR SNK Config QoS, LC3 48_4_1] Passed
BAP/USR/SCC/BV-083-C [USR SNK Config QoS, LC3 48_5_1] Passed
BAP/USR/SCC/BV-084-C [USR SNK Config QoS, LC3 48_6_1] Passed
BAP/USR/SCC/BV-085-C [USR SRC Config QoS, LC3 8_1_1] Passed
BAP/USR/SCC/BV-086-C [USR SRC Config QoS, LC3 8_2_1] Passed
BAP/USR/SCC/BV-087-C [USR SRC Config QoS, LC3 16_1_1] Passed
BAP/USR/SCC/BV-088-C [USR SRC Config QoS, LC3 16_2_1] Passed
BAP/USR/SCC/BV-089-C [USR SRC Config QoS, LC3 24_1_1] Passed
BAP/USR/SCC/BV-090-C [USR SRC Config QoS, LC3 24_2_1] Passed
BAP/USR/SCC/BV-091-C [USR SRC Config QoS, LC3 32_1_1] Passed
BAP/USR/SCC/BV-092-C [USR SRC Config QoS, LC3 32_2_1] Passed
BAP/USR/SCC/BV-093-C [USR SRC Config QoS, LC3 44.1_1_1] Passed
BAP/USR/SCC/BV-094-C [USR SRC Config QoS, LC3 44.1_2_1] Passed
BAP/USR/SCC/BV-095-C [USR SRC Config QoS, LC3 48_1_1] Passed
BAP/USR/SCC/BV-096-C [USR SRC Config QoS, LC3 48_2_1] Passed
BAP/USR/SCC/BV-097-C [USR SRC Config QoS, LC3 48_3_1] Passed
BAP/USR/SCC/BV-098-C [USR SRC Config QoS, LC3 48_4_1] Passed
BAP/USR/SCC/BV-099-C [USR SRC Config QoS, LC3 48_5_1] Passed
BAP/USR/SCC/BV-100-C [USR SRC Config QoS, LC3 48_6_1] Passed
BAP/USR/SCC/BV-101-C [USR SNK Config QoS, LC3 8_1_2] Passed
BAP/USR/SCC/BV-102-C [USR SNK Config QoS, LC3 8_2_2] Passed
BAP/USR/SCC/BV-103-C [USR SNK Config QoS, LC3 16_1_2] Passed
BAP/USR/SCC/BV-104-C [USR SNK Config QoS, LC3 16_2_2] Passed
BAP/USR/SCC/BV-105-C [USR SNK Config QoS, LC3 24_1_2] Passed
BAP/USR/SCC/BV-106-C [USR SNK Config QoS, LC3 24_2_2] Passed
BAP/USR/SCC/BV-107-C [USR SNK Config QoS, LC3 32_1_2] Passed
BAP/USR/SCC/BV-108-C [USR SNK Config QoS, LC3 32_2_2] Passed
BAP/USR/SCC/BV-109-C [USR SNK Config QoS, LC3 44.1_1_2] Passed
BAP/USR/SCC/BV-110-C [USR SNK Config QoS, LC3 44.1_2_2] Passed
BAP/USR/SCC/BV-111-C [USR SNK Config QoS, LC3 48_1_2] Passed
BAP/USR/SCC/BV-112-C [USR SNK Config QoS, LC3 48_2_2] Passed
BAP/USR/SCC/BV-113-C [USR SNK Config QoS, LC3 48_3_2] Passed
BAP/USR/SCC/BV-114-C [USR SNK Config QoS, LC3 48_4_2] Passed
BAP/USR/SCC/BV-115-C [USR SNK Config QoS, LC3 48_5_2] Passed
BAP/USR/SCC/BV-116-C [USR SNK Config QoS, LC3 48_6_2] Passed
BAP/USR/SCC/BV-117-C [USR SRC Config QoS, LC3 8_1_2] Passed
BAP/USR/SCC/BV-118-C [USR SRC Config QoS, LC3 8_2_2] Passed
BAP/USR/SCC/BV-119-C [USR SRC Config QoS, LC3 16_1_2] Passed
BAP/USR/SCC/BV-120-C [USR SRC Config QoS, LC3 16_2_2] Passed
BAP/USR/SCC/BV-121-C [USR SRC Config QoS, LC3 24_1_2] Passed
BAP/USR/SCC/BV-122-C [USR SRC Config QoS, LC3 24_2_2] Passed
BAP/USR/SCC/BV-123-C [USR SRC Config QoS, LC3 32_1_2] Passed
BAP/USR/SCC/BV-124-C [USR SRC Config QoS, LC3 32_2_2] Passed
BAP/USR/SCC/BV-125-C [USR SRC Config QoS, LC3 44.1_1_2] Passed
BAP/USR/SCC/BV-126-C [USR SRC Config QoS, LC3 44.1_2_2] Passed
BAP/USR/SCC/BV-127-C [USR SRC Config QoS, LC3 48_1_2] Passed
BAP/USR/SCC/BV-128-C [USR SRC Config QoS, LC3 48_2_2] Passed
BAP/USR/SCC/BV-129-C [USR SRC Config QoS, LC3 48_3_2] Passed
BAP/USR/SCC/BV-130-C [USR SRC Config QoS, LC3 48_4_2] Passed
BAP/USR/SCC/BV-131-C [USR SRC Config QoS, LC3 48_5_2] Passed
BAP/USR/SCC/BV-132-C [USR SRC Config QoS, LC3 48_6_2] Passed
Total: 64, Passed: 64 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +219, -2 |
| 7a3be199 |
test-bap: Introduce USR/SCC - VS tests for LC3
BAP/USR/SCC/BV-033-C [USR SNK Config Codec, VS]
Test Purpose:
Verify that a Unicast Server Audio Sink IUT can perform a Config
Codec operation initiated by a Unicast Client for a vendor-specific
codec for an ASE in the Idle state, the Codec Configured state, and
the QoS Configured state.
Pass verdict:
The IUT sends a notification of the ASE Control Point characteristic
with the Response_Code field set to 0x00 (Success) for the requested
ASE_ID and opcode.
Test Summary
------------
BAP/USR/SCC/BV-033-C [USR SNK Config Codec, VS] Passed
BAP/USR/SCC/BV-034-C [USR SRC Config Codec, VS] Passed
Total: 2, Passed: 2 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +62, -7 |
| 9d613892 |
test-bap: Introduce USR/SCC tests for LC3
4.9.1 Unicast Server as Audio Sink Performs Config Codec – LC3
Test Purpose:
Verify that a Unicast Server Audio Sink IUT can perform a Config
Codec operation initiated by a Unicast Client for an ASE in the Idle
state, the Codec Configured state.
Pass Veridict:
The IUT sends a Response_Code of 0x00 (Success) in response to each
Config Codec operation.
4.9.2 Unicast Server as Audio Source Performs Config Codec – LC3
Test Purpose:
Verify that a Unicast Server Audio Source IUT can perform a Config
Codec operation initiated by a Unicast Client for an ASE in the Idle
state, the Codec Configured state.
Pass verdict:
The IUT sends a Response_Code of 0x00 (Success) in response to each
Config Codec operation.
Test Summary
------------
BAP/USR/SCC/BV-001-C [USR SNK Config Codec, LC3 8_1] Passed
BAP/USR/SCC/BV-002-C [USR SNK Config Codec, LC3 8_2] Passed
BAP/USR/SCC/BV-003-C [USR SNK Config Codec, LC3 16_1] Passed
BAP/USR/SCC/BV-004-C [USR SNK Config Codec, LC3 16_2] Passed
BAP/USR/SCC/BV-005-C [USR SNK Config Codec, LC3 24_1] Passed
BAP/USR/SCC/BV-006-C [USR SNK Config Codec, LC3 24_2] Passed
BAP/USR/SCC/BV-007-C [USR SNK Config Codec, LC3 32_1] Passed
BAP/USR/SCC/BV-008-C [USR SNK Config Codec, LC3 32_2] Passed
BAP/USR/SCC/BV-009-C [USR SNK Config Codec, LC3 44.1_1] Passed
BAP/USR/SCC/BV-010-C [USR SNK Config Codec, LC3 44.1_2] Passed
BAP/USR/SCC/BV-011-C [USR SNK Config Codec, LC3 48_1] Passed
BAP/USR/SCC/BV-012-C [USR SNK Config Codec, LC3 48_2] Passed
BAP/USR/SCC/BV-013-C [USR SNK Config Codec, LC3 48_3] Passed
BAP/USR/SCC/BV-014-C [USR SNK Config Codec, LC3 48_4] Passed
BAP/USR/SCC/BV-015-C [USR SNK Config Codec, LC3 48_5] Passed
BAP/USR/SCC/BV-016-C [USR SNK Config Codec, LC3 48_6] Passed
BAP/USR/SCC/BV-017-C [USR SRC Config Codec, LC3 8_1] Passed
BAP/USR/SCC/BV-018-C [USR SRC Config Codec, LC3 8_2] Passed
BAP/USR/SCC/BV-019-C [USR SRC Config Codec, LC3 16_1] Passed
BAP/USR/SCC/BV-020-C [USR SRC Config Codec, LC3 16_2] Passed
BAP/USR/SCC/BV-021-C [USR SRC Config Codec, LC3 24_1] Passed
BAP/USR/SCC/BV-022-C [USR SRC Config Codec, LC3 24_2] Passed
BAP/USR/SCC/BV-023-C [USR SRC Config Codec, LC3 32_1] Passed
BAP/USR/SCC/BV-024-C [USR SRC Config Codec, LC3 32_2] Passed
BAP/USR/SCC/BV-025-C [USR SRC Config Codec, LC3 44.1_1] Passed
BAP/USR/SCC/BV-026-C [USR SRC Config Codec, LC3 44.1_2] Passed
BAP/USR/SCC/BV-027-C [USR SRC Config Codec, LC3 48_1] Passed
BAP/USR/SCC/BV-028-C [USR SRC Config Codec, LC3 48_2] Passed
BAP/USR/SCC/BV-029-C [USR SRC Config Codec, LC3 48_3] Passed
BAP/USR/SCC/BV-030-C [USR SRC Config Codec, LC3 48_4] Passed
BAP/USR/SCC/BV-031-C [USR SRC Config Codec, LC3 48_5] Passed
BAP/USR/SCC/BV-032-C [USR SRC Config Codec, LC3 48_6] Passed
Total: 32, Passed: 32 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +202, -32 |
| ad5f318c |
test-bap: Introduce DISC tests for LC3
4.7.2 Unicast Server – Audio Capability Exposure (Page 32):
Test Purpose
Verify that a Unicast Server IUT can allow audio capability discovery
with an Audio Sink reading the values of the Sink PAC characteristic
and the Sink Audio Locations characteristic on the IUT, or with an
Audio Source reading the values of the Source PAC characteristic and
the Source Audio Locations characteristic on the IUT.
Test Summary
------------
BAP/USR/DISC/BV-01-C Passed
BAP/USR/DISC/BV-02-C Passed
BAP/USR/DISC/BV-06-C Passed
BAP/USR/DISC/BV-07-C Passed
BAP/USR/DISC/BV-03-C Passed
BAP/USR/DISC/BV-04-C Passed
BAP/USR/DISC/BV-05-C Passed
Total: 7, Passed: 7 (100.0%), Failed: 0, Not Run: 0 |
Luiz Augusto von Dentz |
9 months ago |
2 files, +299, -50 |
| 0efa20cb |
Release 5.82 |
Marcel Holtmann |
9 months ago |
2 files, +5, -1 |
| 6d20a300 |
shared/bap: Fix swallowing states transitions
In certain cases (e.g ASCS_Enable) a Control Point operation may change
states multiple times causing states not to be notified.
To fix this attempts to queue states if timeout is pending (state_id)
and then proceed to notify them ahead of the last state set in the ASE
so the remote side is informed of all the state transitions. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +28, -11 |
| da5846c0 |
dbus: Fix condition for invalidating path
This fixes the condition introduced in cdd02afbb7ef
("dbus: Fix add invalid memory during interface removal") which was
reversed while applying the original fix.
Fixes: https://github.com/bluez/bluez/issues/1155 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +1, -1 |
| 47e5d349 |
Release 5.81 |
Marcel Holtmann |
9 months ago |
2 files, +9, -1 |
| cdd02afb |
dbus: Fix add invalid memory during interface removal
test setp
register_service <uuid>
register_application <uuid>
unregister_service <uuid>
unregister_application
register_service <uuid>
register_application <uuid>
core dump
invalidate_parent_data is called to add the service to the application's
glist when unregister_service. However, this service has already been
added to the glist of root object in register_service. This results in
services existing in both queues,but only the services in the
application's glist are freed upon removal. A null address is stored
in root object's glist, a crash dump will occur when get_object is called.
Add a check for the parent pointer to avoid adding the service again.
0 0x0000007ff7df6058 in dbus_message_iter_append_basic ()
from /usr/lib/libdbus-1.so.3
1 0x00000055555a3780 in append_object (data=0x31306666,
user_data=0x7ffffff760) at /usr/src/debug/bluez5/5.72/gdbus/object.c:1117
2 0x0000007ff7ece0cc in g_slist_foreach () from /usr/lib/libglib-2.0.so.0
3 0x00000055555a37ac in append_object (data=0x5555642cf0,
user_data=0x7ffffff760) at /usr/src/debug/bluez5/5.72/gdbus/object.c:1122
4 0x0000007ff7ece0cc in g_slist_foreach () from /usr/lib/libglib-2.0.so.0
5 0x00000055555a3630 in get_objects (connection=<optimized out>,
message=<optimized out>, user_data=0x555563b390)
at /usr/src/debug/bluez5/5.72/gdbus/object.c:1154
6 0x00000055555a51d0 in process_message (
connection=connection@entry=0x5555639310,
message=message@entry=0x5555649ac0,
method=method@entry=0x55555facf8 <manager_methods>,
iface_user_data=<optimized out>)
at /usr/src/debug/bluez5/5.72/gdbus/object.c:246
7 0x00000055555a575c in generic_message (connection=0x5555639310,
message=0x5555649ac0, user_data=<optimized out>) |
Shuai Zhang |
9 months ago |
1 file, +3, -0 |
| d9430c06 |
client/player: Add support for setting BIS ID
This adds support for setting BIS ID in addition to BIG ID:
[/local/endpoint/ep0] BIG (auto/value): 1
[/local/endpoint/ep0] BIS (auto/value): |
Luiz Augusto von Dentz |
9 months ago |
2 files, +28, -3 |
| 78aabd89 |
a2dp: Fix removing local cache on restart
Endpoint cache shall only be removed when the device is being removed
not when just because the service is being removed since that is also
done when bluetoothd is being restarted.
Fixes: https://github.com/bluez/bluez/issues/1146 |
Luiz Augusto von Dentz |
9 months ago |
2 files, +1, -40 |
| 5bbefdcc |
shared/att: Fix not always setting security for BT_ATT_LOCAL
Channels created with BT_ATT_LOCAL (socket pair) shall not be restricted
from downgrading the security level since its default security level is
BT_ATT_SECURITY_LOW and it may need to be switched to BT_ATT_SECURITY_AUTO. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +5, -5 |
| 8ebb0ff1 |
doc: Add initial SCO(7) documentation
This adds initial documentation for SCO sockets. |
Luiz Augusto von Dentz |
9 months ago |
2 files, +263, -3 |
| 5df9521c |
device: Elevate bt_att security if bonding is in progress
When bonding is in progress it means Device.Pair has been called thus
the user indicated the intend to pair/bond from the start so the
security of bt_att shall be set in order for it to wait until pairing
process complete before attempting to proceed with GATT discovery and
any other traffic.
Fixes: https://github.com/bluez/bluez/issues/1125 |
Luiz Augusto von Dentz |
9 months ago |
1 file, +5, -0 |
| ac1f8dd8 |
shared/att: Make bt_att_set_security never downgrade security level
Requesting a lower security level than existing one shall result in no
operation since higher security satisfy a lower one and it is never a
good practice to allow downgrading security to begin with. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +5, -1 |
| 45b61a10 |
device: Use btd_device_is_initiator instead of Connect message
Device.Connect message is not the only way to initiate a connection as
there is also the likes of Device.Pair which will initiate bonding, so
this incorporate the bonding check into btd_device_is_initiator and
replaces the checks of were Connect message was used to determine if
initiator to use btd_device_is_initiator. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +6, -3 |
| 1c2ec299 |
device: Make Connect and Pair mutually exclusive
This makes Device.Connect and Device.Pair methods mutually exclusive so
they cannot happen in parallel, so just as Connect:Connect and Pair:Pair
combinations the Connect:Pair and Pair:Connect will now return
org.bluez.Error.InProgress. |
Luiz Augusto von Dentz |
9 months ago |
1 file, +7, -1 |