| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
| |
This patch enables the BT High-Speed(HS) test cases by enabling the HS
in the kernel config.
|
|
|
|
|
|
|
| |
When TemporaryTimeout is set to 0 it is supposed to disable the
temporary timeout so devices never desappear.
Fixes: https://github.com/bluez/bluez/issues/146
|
|
|
|
|
|
|
| |
This patch fixes size comparison and variable misassignment.
Reviewed-by: Alain Michaud <alainm@chromium.org>
Reviewed-by: Michael Sun <michaelfsun@google.com>
|
|
|
|
|
|
|
|
| |
A new flag was added to the kernel implementation of the Device Found
event, but had not been added to the parser leading to an "Unknown device
flag" error in btmon.
Reviewed-by: Yu Liu <yudiliu@google.com>
|
|
|
|
|
|
| |
Check that specfied length of value in received data does not exceed
length of PDU. Otherwise data may be read from beyond the end of the
buffer.
|
|
|
|
| |
This fixes debup typo.
|
|
|
|
| |
This fixes interval typos.
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
This checks if an outstanding call to AcquireWrite is already in
progress. If so, the write request is placed into the queue, but
AcquireWrite is not called again. When a response to AcquireWrite is
received, acquire_write_reply sends all queued writes over the acquired
socket.
Making multiple simultaneous calls to AcquireWrite makes no sense,
as this would open multiple socket pairs and only the last returned
socket would be used for further writes.
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the calculation of available buffer space in
bt_gatt_server_send_notification and sends pending notifications
immediately when there is no more room to add a notification.
Previously there was a buffer overflow caused by incorrect calculation
of available buffer space: data->offset can equal data->len
from a previous call to this function, leading
(data->len - data->offset) to underflow after data->offset += 2.
|
|
|
|
|
| |
This attempts to enable Kernel Debug Experimental Feature if debug is
enabled.
|
| |
|
|
|
|
| |
This reverts commit 9ad67264d97b882fa58391982ecb5b003368fef0.
|
|
|
|
|
| |
These commands are actually of variable size so they don't expect
padding like in the non-extended version.
|
|
|
|
|
|
|
|
|
| |
Resolving List cannot be changed when advertising/scanning:
• Advertising (other than periodic advertising) is enabled,
• Scanning is enabled, or
• an HCI_LE_Create_Connection, HCI_LE_Extended_Create_Connection, or
HCI_LE_Periodic_Advertising_Create_Sync command is outstanding.
|
|
|
|
|
|
|
|
|
|
|
|
| |
White List cannot be changed when advertising/scanning:
• any advertising filter policy uses the White List and advertising is
enabled,
• the scanning filter policy uses the White List and scanning is
enabled, or
• the initiator filter policy uses the White List and an
HCI_LE_Create_Connection or HCI_LE_Extended_Create_Connection
command is outstanding.
|
|
|
|
| |
Remove left-over util_debugs.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes test condition count in the expected HCI command
callback.
When the expected HCI opcode is detected, mark the condition
as done. Any subsequent HCI commands are ignored.
Without this fix, in couple of test cases where the expected HCI
command is detected more than once, the test may be erroneously
reported as a failure or prematurely declared as a success before
waiting on an expected MGMT event condition.
The test cases where this behavior is fixed:
Remove Ext Advertising - Success 1
Remove Ext Advertising - Success 2
Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
If the kernel returns an invalid opcode like below the request won't
be processed making it unusable:
@ MGMT Command: Read Advertising Features (0x003d) plen 0
{0x0001} [hci0] 14:25:11.096370
@ MGMT Event: Command Status (0x0002) plen 3
{0x0001} [hci0] 14:25:11.096373
Set Advertising (0x0029)
Status: Not Supported (0x0c)
In order to fix this attempts to remove the first request pending on the
given index:
= bluetoothd: src/advertising.c:read_adv_features_callback() Failed to
read advertising features: Not Supported (0x0c)
|
|
|
|
|
|
|
|
| |
le_cig.cis entries was not properly checked which could lead to
overwriting le_wl/le_rl field.
While at it this also makes changes so have proper struct/fields for
le_wl and le_rl so they easier to manage.
|
|
|
|
|
| |
When generating disconnected event for a BIS it would not have any
link as the ISO is in fact we are broadcasting and don't have an ACL.
|
|
|
|
|
|
|
|
| |
This adds expected setup HCI command condition to
"Start Discovery - Disable Resolve List" case.
Check that on setup HCI command Set LE Resolve Enable is complete
with "enable" parameter set to 1.
|
|
|
|
|
|
|
| |
This changes check for setup complete in client_cmd_complete() callback
from tester_setup_complete() to test_setup_condition_complete(). This
allows for combining setup conditions when setup_bthost() is called.
Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com>
|
|
|
|
|
| |
This patch adds test cases for checking the whitelist and resolving list
HCI commands when the LL Privacy feature is enabled.
|
|
|
|
| |
This patch adds test cases for Read/Set Experimenal Feature commands.
|
|
|
|
| |
This patch enables LE Privacy to support LL Privacy feature.
|
|
|
|
| |
This patch adds test cases for get/set device flags commands.
|
|
|
|
|
| |
This patch displays the hexdump of expected and received mgmt event
parameters.
|
|
|
|
|
| |
This patch updates the mgmt header to align with the mgmt api document
(doc/mgmt-api.txt)
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This patch adds commands for get/set device flags mgmt ops.
Usage:
get-flags [-t type] <address>
-t type Address Type
0 BR/EDR
1 LE Public
2 LE Random
set-flags [-f flags] [-t type] <address>
-t type Address Type
0 BR/EDR
1 LE Public
2 LE Random
-f flags Device flag.
1 Remote Wake Enable
|
|
|
|
| |
This adds the missing opcodes to mgmt_op so they are properly decoded.
|
|
|
|
|
|
| |
Use strtoul to prevent 32 bit overflow
Reviewed-by: Yun-Hao Chung <howardchung@chromium.org>
|
|
|
|
|
|
|
|
|
| |
Add an option in main.conf to configure the default RSSI sampling
period for advertisement monitor.
Reviewed-by: apusaka@chromium.org
Reviewed-by: mmandlik@chromium.org
Reviewed-by: mcchou@chromium.org
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This fixes the expected behavior of the following test case:
"Remove Ext Advertising - Success 1", when the fail status
was erroneously overwritten with success:
<log snip>
New Advertising Removed event received
Test condition complete, 2 left
HCI Command 0x2039 length 6
Invalid parameter size for HCI command
Remove Ext Advertising - Success 1 - test failed
HCI Command 0x203c length 1
HCI Command 0x2039 length 2
Test condition complete, 1 left
Remove Advertising (0x003f): Success (0x00)
Test condition complete, 0 left
Remove Ext Advertising - Success 1 - test passed
The expected HCI command to disable extended advertisement for a
non-zero number of sets should contain the specified number the
advertising sets.
In this particular test case, number of sets is set to 1 and,
as a result, the expected HCI command should be:
"00 | 01 | 01 00 00 00"
disable | number of sets | set info
Also, to avoid false positives/negatives, skip exmination of HCI
commands after the test conditions are met.
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
'notify_addressed_player_changed()' expected to be called with
'player->changed_id' set to a non-zero value.
player->changed_id = g_idle_add(notify_addressed_player_changed,
player);
And 'avrcp_player_event()' relies on 'player->changed_id' to perform
Addressed Player Changed notification. However,
'avrcp_unregister_player()' calls 'notify_addressed_player_changed()'
without adding it to the main loop and set 'player->changed_id'. To
indicate addreddsed player changed for both scenarios, we set
'player->changed_id' to 1 at the head of
'notify_addressed_player_changed()'.
Fixes https://github.com/bluez/bluez/issues/142
|
|
|
|
|
|
| |
This patch fixes the double free the string.
The string variable is always freed within its if statement so no need
to free it again in the end.
|
|
|
|
| |
This patch adds test cases for the Remove UUID command.
|
|
|
|
| |
This patch adds test cases for the Set Device ID command.
|
| |
|
|
|
|
|
|
|
| |
This is a minor fix of a memory leak triggered on process exit if
proceess has been killed right after requesting an outbound
advertisement be sent. It is harmless, but will cause an occasional
static analysis failure.
|
|
|
|
|
|
|
|
| |
Certain IOP and stress testing scenarios can cause additional outbound
messages to be attempted before the prior outbound message completes.
This patch adds queuing if outbpund messages are attempted too quickly
so that the additional message is not sent until the prior message is
ACKed.
|
|
|
|
|
|
|
| |
To pass IOP testing, we need to be able to support Input OOB and Out of
band Public Key exchange, This patch adds agent methods to support
those capabilities, but are turned off because the test code uses
insecure fixed values instead of randomized values.
|
|
|
|
|
| |
To support the widest range of mesh devices, we need to support any
possible capability combinations that a remote device may request.
|
|
|
|
|
|
|
|
|
|
| |
The Mesh profile specification defines a Mesh byte order of Big Endian
for Public keys used to calculate shared secrets. Further the
specification sample data also show this same byte order for Private
keys. However, our internal ECDH shared secret calculation requires
Little Endian byte ordering. This fixes our DBus interface, and
debugging output to use Mesh Byte Ordering (Big Endian) for all human
readable input/output.
|
|
|
|
|
| |
Remove unneeded initialization that prevented the Acceptor roll of ever
recognizing a valid PB-ACK.
|
|
|
|
|
| |
This adds manpage with a brief description of BLuettoth Mesh daemon
command line options.
|
|
|
|
|
|
|
|
|
|
| |
Fix misassigned AVDTP StreamMode option, which causes StreamMode not
being set.
Fix AVDTP SessionMode option not freed.
Reviewed-by: mmandlik@chromium.org
Reviewed-by: apusaka@chromium.org
Reviewed-by: Tedd Ho-Jeong An <tedd.an@intel.com>
|
|
|
|
|
|
|
|
|
| |
This patch fixes a couple memory leaks.
In filesystem, g_file_get_contents allocates fresh memory to buf.
It needs to be freed after conversion to a GString object.
Destination was missed on an error path as is mld.
|
|
|
|
| |
This enables experimental MGMT features when experimental has been set.
|
|
|
|
|
| |
This ensures that know UUIDs names are printed including those used by
experimental features.
|