| adbf8608 |
tools: Mount extra directories for a complete test setup |
Marcel Holtmann |
10 years ago |
1 file, +19, -1 |
| e622e623 |
build: Add test-runner utility for virtual machine execution |
Marcel Holtmann |
10 years ago |
3 files, +434, -1 |
| 29eda646 |
test/example-gatt-server: Use parens. with print
Added parenthesese around print statements to conform to Python 3. |
Arman Uguray |
10 years ago |
1 file, +23, -23 |
| 53d6e8f0 |
test: Reorganize LE Python example scripts
This patch moves tools/gatt-example to test/ and renames it to
example-gatt-server in preparation for example-gatt-client.
The same naming convention (example-*) is also adopted for
test/advertisement-example, so it's now called
test/example-advertisement. Also, both scripts now have the execute
set appropriately to be consistent with the other Python scripts. |
Arman Uguray |
10 years ago |
4 files, +703, -703 |
| ebcb6aa7 |
core/adapter: Filter discovery results
This patch adds filtering to the device found event, and enforces lack
of RSSI delta for filtered scan.
When filtering, we compare against each client filter. That
additionally removes some of reports. |
Jakub Pawlowski |
10 years ago |
1 file, +65, -1 |
| e6193dcf |
core/adapter: Start discovery based on filter type
This patch implements starting and updating filtered discovery,
depending on the filter type used by each client. It also removes
the idle timeout for filtered scans, to make sure that this kind of
scan will run continuously. |
Jakub Pawlowski |
10 years ago |
1 file, +289, -23 |
| 92df75db |
core/adapter: Track filters for discovery clients
This patch adds logic for setting, updating and deleting a discovery
filter for each client.
Note that the filter is not being used yet, the actual code that uses
it will be added in the following patches. |
Jakub Pawlowski |
10 years ago |
1 file, +114, -7 |
| cc221fe9 |
core/adapter: Add parameter parsing to SetDiscoveryFilter
This patch adds parameter parsing, and basic internal logic checks to
the SetDiscoveryFilter method. |
Jakub Pawlowski |
10 years ago |
1 file, +200, -0 |
| 003815ca |
core/adapter: Add SetDiscoveryFilter method
This patch introduces the SetDiscoveryFilter method, as described in
doc/adapter-api.txt to the Adapter1 D-Bus interface. The method is
currently only a stub. |
Jakub Pawlowski |
10 years ago |
1 file, +9, -0 |
| ae681234 |
core/adapter: Refactor of scan type
This patch replaces scan type with defined constants, and creates
a new method that can be used to get the currently avaliable scan
type. |
Jakub Pawlowski |
10 years ago |
1 file, +20, -8 |
| a5ea5a40 |
core/device: Introduce device_set_rssi_with_delta
This patch adds a new method to allow updating the RSSI property
value with a given delta threshold. This helper function will be
used in upcoming patches by SetDiscoveryFilter, in order to disable
the delta threshold when a filter is active. |
Jakub Pawlowski |
10 years ago |
2 files, +13, -3 |
| 992e7f5c |
Release 5.30 |
Marcel Holtmann |
10 years ago |
2 files, +11, -1 |
| e30f1023 |
build: Update library version |
Marcel Holtmann |
10 years ago |
1 file, +1, -1 |
| 5acac4bf |
lib: Update company identifiers |
Marcel Holtmann |
10 years ago |
1 file, +20, -0 |
| 55c90810 |
tools/btgatt-server: Add option for src addr type
This patch adds the --type option to btgatt-server which allows
the source bdaddr type to be specified. If the option is not
provided, the source type defaults to BDADDR_LE_PUBLIC.
This also fixes a bug in that manifests itself in later kernels
that prevents an LE connection to be accepted when '0' is given for
the source address type, where '0' corresponds to BDADDR_BREDR. |
Arman Uguray |
10 years ago |
1 file, +19, -4 |
| 20bcb9bc |
android/hal-sco: Fix divide by zero
audio_stream_in_frame_size or audio_stream_frame_size can return 0 so
this needs to be checked before divide. |
Szymon Janc |
10 years ago |
1 file, +13, -7 |
| 5e36d4e8 |
lib/uuid: Fix bt_uuid_to_le
bt_uuid_to_le is currently broken if the src uuid is type 32 bits since
it does the conversion to 128 bits but still uses the original value to
swap instead of the coverted one. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +2, -1 |
| 85ffc940 |
android/avctp: Fix reference counting
Drop extra reference before exiting function. |
Szymon Janc |
10 years ago |
1 file, +12, -10 |
| 18476390 |
attrib-server: Use bt_uuid_to_le instead of local function
This patch use lib/uuid library for uuids instead of local function. |
Grzegorz Kolodziejczyk |
10 years ago |
1 file, +1, -10 |
| 3d9fc0e1 |
lib: Fix compilation error in C++ due to inline function
This adds explicit typecasts to an inline function to make it C++
compatible. What follows is a sample error message from g++ when
compiling without this patch.
/usr/include/bluetooth/bluetooth.h:
In function 'void bswap_128(const void*, void*)':
/usr/include/bluetooth/bluetooth.h:348:21:
error: invalid conversion from 'const void*' to 'const uint8_t*
{aka const unsigned char*}' [-fpermissive]
const uint8_t *s = src; |
Richard Palethorpe |
10 years ago |
1 file, +2, -2 |
| 91f595dd |
tools: Add test cases for SSP and SC successful local OOB data |
Marcel Holtmann |
10 years ago |
2 files, +41, -12 |
| 65896183 |
tools: Add basic test cases for reading local out-of-band data |
Marcel Holtmann |
10 years ago |
2 files, +59, -2 |
| a0e24ed8 |
emulator: Add support for emulating Bluetooth 2.0 controllers |
Marcel Holtmann |
10 years ago |
4 files, +49, -10 |
| 056bd3a8 |
tools: Add extra test cases for invalid parameters |
Marcel Holtmann |
10 years ago |
2 files, +78, -2 |
| f5b75ed2 |
build: Move advertisement-example script into test directory |
Marcel Holtmann |
10 years ago |
3 files, +171, -171 |
| 005a1487 |
doc/test-coverage.txt: Update mgmt-tester test count |
Arman Uguray |
10 years ago |
1 file, +2, -2 |
| 059c744e |
tools/mgmt-tester: Test cases for connectable state change
This patch adds test cases for correctly updating the advertising type
when the global connectable setting changes. |
Arman Uguray |
10 years ago |
1 file, +74, -0 |
| 33e5ac86 |
tools/mgmt-tester: Add new add-adv test cases
This patch adds new test cases for the Add Advertising command for the
following conditions:
- ADV_SCAN_IND, ADV_NONCONN_IND, and ADV_IND correctly configured based on the
global "connectable" setting and the instance scan response length.
- ADV_IND is used when the global "connectable" setting is "on" and instance
flags is 0. |
Arman Uguray |
10 years ago |
1 file, +64, -0 |
| f5222f06 |
android/avrcp-lib: Fix not initializing attributes
While parsing sttribute list attrs were not initialized with media
item id.
Conditional jump or move depends on uninitialised value(s)
at 0x427850: handle_get_element_attributes_rsp (avrcp.c:1140)
by 0x423DFC: get_element_attributes_rsp (avrcp-lib.c:2543)
by 0x42039C: session_cb (avctp.c:789)
by 0x36A7E492A5: g_main_context_dispatch (in /usr/lib64/
libglib-2.0.so.0.3800.2)
by 0x36A7E49627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x36A7E49A39: g_main_loop_run (in /usr/lib64/
libglib-2.0.so.0.3800.2)
by 0x40ACB5: main (main.c:661) |
Szymon Janc |
10 years ago |
1 file, +2, -0 |
| f257d27b |
core: Fix crash when running without -E option
LEAdvertisingManager1 is still experimental interface and should be
optional. Crash was due to missing removal from adapters list in case
of error (which is no longer needed).
bluetoothd[19358]: Unable to register new adapter
bluetoothd[19358]: src/adapter.c:btd_adapter_unref() Freeing adapter /org/bluez/hci0
bluetoothd[19358]: src/adapter.c:adapter_free() 0x4d1ce10
bluetoothd[19358]: src/profile.c:register_profile() sender :1.59
bluetoothd[19358]: src/profile.c:create_ext() Created "Message Notification"
==19358== Invalid read of size 4
==19358== at 0x462FC9: adapter_add_profile (adapter.c:3083)
==19358== by 0x36A7E66477: g_slist_foreach (in /usr/lib64/libglib-2.0.so.0.3800.2)
==19358== by 0x46825A: register_profile (profile.c:2280)
==19358== by 0x484923: process_message.isra.5 (object.c:259)
==19358== by 0x36A9A1DF85: ??? (in /usr/lib64/libdbus-1.so.3.7.12)
==19358== by 0x36A9A100D8: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.7.12)
==19358== by 0x48169F: message_dispatch (mainloop.c:72)
==19358== by 0x36A7E492A5: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
==19358== by 0x36A7E49627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
==19358== by 0x36A7E49A39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
==19358== by 0x40AE55: main (main.c:661)
==19358== Address 0x4d1cf00 is 240 bytes inside a block of size 320 free'd
==19358== at 0x4A07577: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
==19358== by 0x36A7E4EF7E: g_free (in /usr/lib64/libglib-2.0.so.0.3800.2)
==19358== by 0x483B75: remove_interface (object.c:658)
==19358== by 0x484099: g_dbus_unregister_interface (object.c:1382)
==19358== by 0x4649B9: read_info_complete (adapter.c:7267)
==19358== by 0x488215: request_complete (mgmt.c:242)
==19358== by 0x488B6C: can_read_data (mgmt.c:321)
==19358== by 0x492D54: watch_callback (io-glib.c:170)
==19358== by 0x36A7E492A5: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3800.2)
==19358== by 0x36A7E49627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
==19358== by 0x36A7E49A39: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3800.2)
==19358== by 0x40AE55: main (main.c:661) |
Szymon Janc |
10 years ago |
1 file, +3, -5 |
| 53445bfd |
android/avrcp-lib: Fix possible invalid read
If item length was 0 text was left uninitialized. |
Szymon Janc |
10 years ago |
1 file, +2, -0 |
| a8283e94 |
android/avrcp-lib: Fix memory leak
Memory allocated by parse_elements() was never freed.
63 bytes in 6 blocks are definitely lost in loss record 198 of 318
at 0x4A0645D: malloc (in /usr/lib64/valgrind/
vgpreload_memcheck-amd64-linux.so)
by 0x36A7E4EE6E: g_malloc (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x36A7E667B7: g_strndup (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x423BBE: parse_attribute_list.isra.5 (avrcp-lib.c:2445)
by 0x423CBF: get_element_attributes_rsp (avrcp-lib.c:2474)
by 0x420B94: session_cb (avctp.c:743)
by 0x36A7E492A5: g_main_context_dispatch (in /usr/lib64/
libglib-2.0.so.0.3800.2)
by 0x36A7E49627: ??? (in /usr/lib64/libglib-2.0.so.0.3800.2)
by 0x36A7E49A39: g_main_loop_run (in /usr/lib64/
libglib-2.0.so.0.3800.2)
by 0x40AC45: main (main.c:661) |
Szymon Janc |
10 years ago |
1 file, +12, -0 |
| 9cb075aa |
core/advertising: implement UnregisterAdvertisement
Implement the UnregisterAdvertisement method of the
LEAdvertisingManager1 interface. |
Michael Janssen |
10 years ago |
1 file, +22, -2 |
| 3bcc53e0 |
tools: Python script to test Advertisement API
This script provides an example of using the advertisement-data
D-Bus API from python. |
Michael Janssen |
10 years ago |
1 file, +170, -0 |
| cf99200d |
core/advertising: Implement RegisterAdvertisement
Initial implementation of the RegisterAdvertisement function of the
LEAdvertisingManager1 interface. |
Michael Janssen |
10 years ago |
1 file, +248, -1 |
| 59c8313d |
core: advertising: add LEAdvertisingManager stubs
Introducing src/advertising which will implement the
org.bluez.LEAdvertisingManager1 D-Bus interface defined in
doc/advertising-api.txt. Each LE-capable controller gets
an instance of the interface. |
Michael Janssen |
10 years ago |
4 files, +177, -0 |
| f0fee838 |
shared/gatt-client: Add const qualifier to prepare write value
For all GATT write operation, value remains constant throughout the
transaction. All bt_gatt_client_write procedure in
src/shared/gatt-client.h follows this convention. |
Gowtham Anandha Babu |
10 years ago |
2 files, +2, -2 |
| 706032ee |
unit/test-gatt: Add TP/GAW/CL/BI-13-C test
Verify Generic Attribute Profile client behavior when the Write
Long Characteristic Value procedure fails due to insufficient
encryption key size. |
Gowtham Anandha Babu |
10 years ago |
1 file, +16, -0 |
| f10138c1 |
unit/test-gatt: Add TP/GAW/CL/BI-12-C test
Verify Generic Attribute Profile client behavior when the Write
Long Characteristic Value procedure fails due to insufficient
authentication. |
Gowtham Anandha Babu |
10 years ago |
1 file, +16, -0 |
| c0c7e019 |
unit/test-gatt: Add TP/GAW/CL/BI-11-C test
Verify Generic Attribute Profile client behavior when the Write
Long Characteristic Value procedure fails due to insufficient
authorization. |
Gowtham Anandha Babu |
10 years ago |
1 file, +16, -0 |
| 79fd1606 |
unit/test-gatt: Add TP/GAW/CL/BI-08-C test
Verify Generic Attribute Profile client behavior when the Write
Long Characteristic Value procedure fails due to write not permitted. |
Gowtham Anandha Babu |
10 years ago |
1 file, +16, -0 |
| 2a7f8018 |
unit/test-gatt: Add TP/GAW/CL/BI-07-C test
Verify Generic Attribute Profile client behavior when the Write
Long Characteristic Value procedure fails due to invalid handle. |
Gowtham Anandha Babu |
10 years ago |
1 file, +16, -0 |
| 9a0d6d99 |
unit/test-gatt: Add TP/GAW/CL/BV-05-C test
Verify that a Generic Attribute Profile client can write a long
Characteristic Value selected by handle. |
Gowtham Anandha Babu |
10 years ago |
1 file, +248, -3 |
| e7caff69 |
unit: Replace use of g_malloc+memcpy with gmemdup
This seems to fix problems of make check not working in 32 bit systems
with gcc 5.0. |
Luiz Augusto von Dentz |
10 years ago |
8 files, +9, -18 |
| 43bfe924 |
unit/test-avrcp: Remove DBG calls |
Luiz Augusto von Dentz |
10 years ago |
1 file, +0, -70 |
| be6bccef |
android/avrcp-lib: Fix test /TP/MPS/BV-06-C
This fixes the following crash on /TP/MPS/BV-06-C:
Invalid write of size 4
at 0x414A98: browsing_disconnect_cb (avrcp-lib.c:652)
by 0x4122B2: handler_free (avctp.c:1121)
by 0x4E9C7FC: g_slist_foreach (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4E9C81A: g_slist_free_full (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x413219: avctp_destroy_browsing (avctp.c:1130)
by 0x4132B4: avctp_channel_destroy (avctp.c:499)
by 0x4133E0: avctp_unref (avctp.c:729)
by 0x413682: avctp_shutdown (avctp.c:1650)
by 0x413682: session_cb (avctp.c:1020)
by 0x4E7E7FA: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4E7EB97: ??? (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4E7EEC1: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x41D301: tester_run (tester.c:831)
Address 0x57bc0e8 is 88 bytes inside a block of size 112 free'd
at 0x4C2ACE9: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
by 0x4E8450E: g_free (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x419A75: avrcp_shutdown (avrcp-lib.c:382)
by 0x40E77E: destroy_context (test-avrcp.c:140)
by 0x40E82F: context_quit (test-avrcp.c:153)
by 0x40EA01: get_folder_items_rsp (test-avrcp.c:884)
by 0x415DA0: get_folder_items_rsp (avrcp-lib.c:2731)
by 0x413EC1: browsing_response (avctp.c:835)
by 0x413EC1: session_browsing_cb (avctp.c:883)
by 0x4E7E7FA: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4E7EB97: ??? (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x4E7EEC1: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.4200.2)
by 0x41D301: tester_run (tester.c:831) |
Luiz Augusto von Dentz |
10 years ago |
1 file, +4, -0 |
| 9aa110e7 |
unit/test-avrcp: Use tester framework
Our tester framework actually produces much better output. |
Luiz Augusto von Dentz |
10 years ago |
1 file, +28, -45 |
| 0aeff668 |
unit/test-avctp: Remove DBG calls |
Luiz Augusto von Dentz |
10 years ago |
1 file, +0, -7 |
| 7421293c |
doc/test-coverage: Fix total count for end-to-end tests |
Szymon Janc |
10 years ago |
1 file, +1, -1 |
| 31e07a4f |
tools/btmgmt: Fix crash in interactive mode
Optind needs to be reset to 0 so getopt_long do reinitialization on new
parsing. Otherwise we got crash:
[hci1]# find --help
Usage: find [-l|-b]>
[hci1]# find --help
==16382== Invalid read of size 1
==16382== at 0x513CA96: _getopt_internal_r (getopt.c:429)
==16382== by 0x513DBFA: _getopt_internal (getopt.c:1177)
==16382== by 0x513DC82: getopt_long (getopt1.c:66)
==16382== by 0x406721: cmd_find (btmgmt.c:2111)
==16382== by 0x40C712: rl_handler (btmgmt.c:4275)
==16382== by 0x4E5A727: rl_callback_read_char (in
/lib/x86_64-linux-gnu/libreadline.so.6.2)
==16382== by 0x402ED8: prompt_read (btmgmt.c:4340)
==16382== by 0x41D117: io_callback (io-mainloop.c:123)
==16382== by 0x41D9F3: mainloop_run (mainloop.c:157)
==16382== by 0x4026C2: main (btmgmt.c:4427)
==16382== Address 0x567e576 is 6 bytes inside a block of size 101
free'd
==16382== at 0x4C2A82E: free (in
/usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==16382== by 0x5158DE8: wordfree (wordexp.c:2235)
==16382== by 0x40C71A: rl_handler (btmgmt.c:4304)
==16382== by 0x4E5A727: rl_callback_read_char (in
/lib/x86_64-linux-gnu/libreadline.so.6.2)
==16382== by 0x402ED8: prompt_read (btmgmt.c:4340)
==16382== by 0x41D117: io_callback (io-mainloop.c:123)
==16382== by 0x41D9F3: mainloop_run (mainloop.c:157)
==16382== by 0x4026C2: main (btmgmt.c:4427)
==16382== |
Lukasz Rymanowski |
10 years ago |
1 file, +23, -0 |