OSDN Git Service

android-x86/external-bluetooth-bluez.git
11 years agocore: Fix missing check for main_opts.reverse_sdp
Johan Hedberg [Thu, 31 Jan 2013 17:49:57 +0000 (11:49 -0600)]
core: Fix missing check for main_opts.reverse_sdp

11 years agocore: Fix checking for correct async operation id
Johan Hedberg [Thu, 31 Jan 2013 17:39:08 +0000 (11:39 -0600)]
core: Fix checking for correct async operation id

11 years agocore: Move SDP record fetching to NewConnection sending function
Johan Hedberg [Thu, 31 Jan 2013 17:32:14 +0000 (11:32 -0600)]
core: Move SDP record fetching to NewConnection sending function

11 years agocore: Do authorization and service resolving in parallel
Johan Hedberg [Thu, 31 Jan 2013 17:24:15 +0000 (11:24 -0600)]
core: Do authorization and service resolving in parallel

11 years agocore: Force discovery timer to run immediately if a profile needs it
Johan Hedberg [Thu, 31 Jan 2013 16:06:02 +0000 (10:06 -0600)]
core: Force discovery timer to run immediately if a profile needs it

11 years agocore: Fix SDP resolving for incoming external profile connections
Johan Hedberg [Thu, 31 Jan 2013 16:00:12 +0000 (10:00 -0600)]
core: Fix SDP resolving for incoming external profile connections

This patch ensures that the reverse SDP procedure completes before we
accept incoming profiles for external profiles.

11 years agocore: Add device API for waiting for SDP completion
Johan Hedberg [Thu, 31 Jan 2013 15:59:48 +0000 (09:59 -0600)]
core: Add device API for waiting for SDP completion

11 years agocore: Remove unnecessary assignment to device->svc_resolved
Johan Hedberg [Thu, 31 Jan 2013 15:58:18 +0000 (09:58 -0600)]
core: Remove unnecessary assignment to device->svc_resolved

The device_svc_resolved() function already takes care of setting
device->svc_resolved to true.

11 years agoTODO: Add item for improving stopping passive scanning
Johan Hedberg [Thu, 31 Jan 2013 15:06:49 +0000 (09:06 -0600)]
TODO: Add item for improving stopping passive scanning

11 years agocore: Fix updating discovery state when stopping passive scanning
Johan Hedberg [Wed, 30 Jan 2013 04:43:41 +0000 (22:43 -0600)]
core: Fix updating discovery state when stopping passive scanning

11 years agocore: Remove unnecessary adapter->passive_scanning variable
Johan Hedberg [Wed, 30 Jan 2013 01:29:40 +0000 (19:29 -0600)]
core: Remove unnecessary adapter->passive_scanning variable

The adapter->discovery_list can function equally well as an indicator of
whether normal discovery or passive scanning is in progress. Normal
discovery always overrides passive scanning so if there's one or more
entries in discovery_list we must be performing normal discovery and not
passive scanning.

11 years agocore: Make device_set_auto_connect private to device.c
Johan Hedberg [Tue, 29 Jan 2013 23:34:38 +0000 (17:34 -0600)]
core: Make device_set_auto_connect private to device.c

11 years agoproximity: Remove unnecessary device_set_auto_connect call
Johan Hedberg [Tue, 29 Jan 2013 23:34:26 +0000 (17:34 -0600)]
proximity: Remove unnecessary device_set_auto_connect call

11 years agoinput: Remove unnecessary device_set_auto_connect call
Johan Hedberg [Tue, 29 Jan 2013 23:34:13 +0000 (17:34 -0600)]
input: Remove unnecessary device_set_auto_connect call

11 years agocore: Let device_set_auto_connect do connect list adding
Johan Hedberg [Tue, 29 Jan 2013 23:32:30 +0000 (17:32 -0600)]
core: Let device_set_auto_connect do connect list adding

The device_set_auto_connect function should be the only function that
needs to call adapter_connect_list_add().

11 years agocore: Make device_get_auto_connect private to device.c
Johan Hedberg [Tue, 29 Jan 2013 23:14:44 +0000 (17:14 -0600)]
core: Make device_get_auto_connect private to device.c

11 years agocore: Move connect_list handling to ATT specific callbacks
Johan Hedberg [Tue, 29 Jan 2013 23:13:36 +0000 (17:13 -0600)]
core: Move connect_list handling to ATT specific callbacks

This is more reliable since we're not always guaranteed to get the right
mgmt events, e.g. a socket connect timeout might not trigger those.

11 years agocore: Allow adapter_connect_list_remove to trigger LE scanning
Johan Hedberg [Tue, 29 Jan 2013 23:12:56 +0000 (17:12 -0600)]
core: Allow adapter_connect_list_remove to trigger LE scanning

11 years agocore: Fix adapter->connect_le updating in connect_list_add/remove
Johan Hedberg [Tue, 29 Jan 2013 23:12:23 +0000 (17:12 -0600)]
core: Fix adapter->connect_le updating in connect_list_add/remove

11 years agocore: Fix g_source_remove() with zero ID while removing device
Anderson Lizardo [Tue, 29 Jan 2013 18:52:26 +0000 (14:52 -0400)]
core: Fix g_source_remove() with zero ID while removing device

store_device_info_cb() is also used as callback for g_idle_add() and
therefore sets device->store_id to zero. During device removal it may be
called manually, which must be done only after the existing
device->store_id is removed from mainloop.

Fix this GLib error (and a bunch of invalid read/writes when
store_device_info_cb() was called after device removal due to this bug):

bluetoothd[1192]: src/device.c:device_remove() Removing device
/org/bluez/hci0/dev_12_34_12_34_12_34

(bluetoothd:1192): GLib-CRITICAL **: g_source_remove: assertion `tag >
0' failed
bluetoothd[1192]: src/device.c:btd_device_unref() Freeing device
/org/bluez/hci0/dev_12_34_12_34_12_34
bluetoothd[1192]: src/device.c:device_free() 0x463a2a0

11 years agogas: Fix not sending response to indication
Vinicius Costa Gomes [Tue, 29 Jan 2013 19:00:06 +0000 (16:00 -0300)]
gas: Fix not sending response to indication

Even if the remote device is not bonded, we should send the response to the
indication. If we don't the remote device may disconnect.

11 years agogas: Move all the code to only one file
Vinicius Costa Gomes [Tue, 29 Jan 2013 19:00:05 +0000 (16:00 -0300)]
gas: Move all the code to only one file

Our Generic Attribute/Access Service plugin is small and simple enough
to be kept in only one file.

11 years agodevice: Fix invalid memory access during Find Included
Vinicius Costa Gomes [Tue, 29 Jan 2013 19:00:04 +0000 (16:00 -0300)]
device: Fix invalid memory access during Find Included

When doing the Find Included Services GATT procedure, the status of the ATT
procedure was being ignored, and in the case of a timeout it is possible to
crash bluetooth with an invalid memory access.

Valgrind log:

==1755== Invalid read of size 8
==1755==    at 0x46971A: find_included_cb (device.c:2964)
==1755==    by 0x4465AE: isd_unref (gatt.c:92)
==1755==    by 0x446885: find_included_cb (gatt.c:425)
==1755==    by 0x448266: disconnect_timeout (gattrib.c:269)
==1755==    by 0x4E76BCA: g_timeout_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76044: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76377: g_main_context_iterate.isra.24 (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76771: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x40A2EE: main (main.c:583)
==1755==  Address 0x69530a8 is 8 bytes inside a block of size 64 free'd
==1755==    at 0x4C2874F: free (vg_replace_malloc.c:446)
==1755==    by 0x40BFA6: service_filter (watch.c:486)
==1755==    by 0x40BC6A: message_filter (watch.c:554)
==1755==    by 0x5160A1D: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.7.2)
==1755==    by 0x40AAB7: message_dispatch (mainloop.c:76)
==1755==    by 0x4E76BCA: g_timeout_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76044: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76377: g_main_context_iterate.isra.24 (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76771: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x40A2EE: main (main.c:583)
==1755==
==1755== Invalid read of size 8
==1755==    at 0x4486D5: g_attrib_get_buffer (gattrib.c:657)
==1755==    by 0x4467C5: find_included (gatt.c:363)
==1755==    by 0x4465AE: isd_unref (gatt.c:92)
==1755==    by 0x446885: find_included_cb (gatt.c:425)
==1755==    by 0x448266: disconnect_timeout (gattrib.c:269)
==1755==    by 0x4E76BCA: g_timeout_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76044: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76377: g_main_context_iterate.isra.24 (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76771: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x40A2EE: main (main.c:583)
==1755==  Address 0x18 is not stack'd, malloc'd or (recently) free'd
==1755==
==1755==
==1755== Process terminating with default action of signal 11 (SIGSEGV)
==1755==  Access not within mapped region at address 0x18
==1755==    at 0x4486D5: g_attrib_get_buffer (gattrib.c:657)
==1755==    by 0x4467C5: find_included (gatt.c:363)
==1755==    by 0x4465AE: isd_unref (gatt.c:92)
==1755==    by 0x446885: find_included_cb (gatt.c:425)
==1755==    by 0x448266: disconnect_timeout (gattrib.c:269)
==1755==    by 0x4E76BCA: g_timeout_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76044: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76377: g_main_context_iterate.isra.24 (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x4E76771: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3400.2)
==1755==    by 0x40A2EE: main (main.c:583)

11 years agoneard: Fix memory leak on registering as agent
Szymon Janc [Tue, 29 Jan 2013 08:54:31 +0000 (09:54 +0100)]
neard: Fix memory leak on registering as agent

Message reference was not dropped in register_agent. This fix following
memory leak reported by valgrind:

454 (184 direct, 270 indirect) bytes in 1 blocks are definitely lost in loss record 207 of 220
   at 0x4C29DB4: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x513DCF2: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514222E: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5149F46: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514A070: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514AA63: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514B0A5: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5149E0C: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5134D24: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5136088: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5135643: dbus_connection_send_with_reply_and_block (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5130C93: dbus_bus_register (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)

102 bytes in 1 blocks are indirectly lost in loss record 154 of 220
   at 0x4C2B7B2: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x514F02F: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514F0DD: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514F239: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514DE0A: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514E3D3: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x513C138: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x513FF4D: dbus_message_iter_append_basic (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5141790: dbus_message_new_error (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5135C70: dbus_connection_dispatch (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x40A747: message_dispatch (mainloop.c:76)
   by 0x4E7A91A: ??? (in /lib/x86_64-linux-gnu/libglib-2.0.so.0.3200.3)

168 bytes in 1 blocks are indirectly lost in loss record 185 of 220
   at 0x4C2B7B2: realloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x514F02F: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514F0DD: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514F239: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x513A3B3: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514228F: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5149F46: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514A070: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514AA63: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x514B0A5: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5149E0C: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)
   by 0x5134D24: ??? (in /lib/x86_64-linux-gnu/libdbus-1.so.3.5.8)

11 years agoneard: Fix passing negative error code to strerror
Szymon Janc [Tue, 29 Jan 2013 08:54:30 +0000 (09:54 +0100)]
neard: Fix passing negative error code to strerror

error_reply expects non-negative error code.

11 years agocore: Allow Device1.Connect/Disconnect to control auto connection
Johan Hedberg [Tue, 29 Jan 2013 21:55:16 +0000 (15:55 -0600)]
core: Allow Device1.Connect/Disconnect to control auto connection

This patch makes it possible to disable the LE auto connections
temporarily through Device1.Disconnect and re-enable them by calling
Device1.Connect().

11 years agocore: Stop passive scanning before connecting LE
Johan Hedberg [Tue, 29 Jan 2013 18:37:08 +0000 (12:37 -0600)]
core: Stop passive scanning before connecting LE

Many controllers do not support creating LE connections at the same time
as doing scanning so stop the scanning before attempting to connect.

11 years agocore: Add device_get_auto_connect() function needed for LE connections
Johan Hedberg [Tue, 29 Jan 2013 21:02:34 +0000 (15:02 -0600)]
core: Add device_get_auto_connect() function needed for LE connections

11 years agocore: Add a variable to track passive scanning
Johan Hedberg [Tue, 29 Jan 2013 17:09:26 +0000 (11:09 -0600)]
core: Add a variable to track passive scanning

This patch adds a state variable to track passive scanning and ensures
that LE connections are only created through this discovery procedure
and not the normal (StartDiscovery based) discovery procedure.

11 years agoattrib: Don't attempt to unregister event id 0
Luiz Augusto von Dentz [Mon, 28 Jan 2013 21:44:01 +0000 (15:44 -0600)]
attrib: Don't attempt to unregister event id 0

Id 0 is considered invalid so the code should not even try to lookup for
it in the event list instead print a warning and return FALSE
immediatelly.

11 years agothermometer: Fix crash while unregistering adapter
Luiz Augusto von Dentz [Mon, 28 Jan 2013 21:44:00 +0000 (15:44 -0600)]
thermometer: Fix crash while unregistering adapter

Invalid read of size 8
   at 0x448200: g_attrib_unregister (gattrib.c:722)
   by 0x440476: destroy_thermometer (thermometer.c:167)
   by 0x40D849: remove_interface (object.c:656)
   by 0x40DAA9: g_dbus_unregister_interface (object.c:1413)
   by 0x3DF7A63C9C: g_slist_foreach (gslist.c:894)
   by 0x469656: device_remove (device.c:2200)
   by 0x45CDC1: adapter_remove (adapter.c:3884)
   by 0x45F146: index_removed (adapter.c:5442)
   by 0x46BC17: received_data (mgmt.c:252)
   by 0x3DF7A47A74: g_main_context_dispatch (gmain.c:2715)
   by 0x3DF7A47DA7: g_main_context_iterate.isra.24 (gmain.c:3290)
   by 0x3DF7A481A1: g_main_loop_run (gmain.c:3484)
 Address 0x40 is not stack'd, malloc'd or (recently) free'd

11 years agomedia: Fix not finding endpoints with different case UUIDs
Vinicius Costa Gomes [Mon, 28 Jan 2013 19:27:36 +0000 (16:27 -0300)]
media: Fix not finding endpoints with different case UUIDs

When multiple Endpoints are registered with different case UUIDs,
the only UUIDs found were those with matching case.

11 years agocore: Fix LE connections based on connect_list
Johan Hedberg [Mon, 28 Jan 2013 16:58:27 +0000 (10:58 -0600)]
core: Fix LE connections based on connect_list

11 years agomonitor: Add supported commands bit numbers
Marcel Holtmann [Mon, 28 Jan 2013 15:24:39 +0000 (16:24 +0100)]
monitor: Add supported commands bit numbers

11 years agomedia: Fix custom property registration for multiple adapters
Luiz Augusto von Dentz [Mon, 21 Jan 2013 13:34:13 +0000 (15:34 +0200)]
media: Fix custom property registration for multiple adapters

The function btd_profile_add_custom_prop register a custom property for
an UUID which is valid for every adapter so its user_data cannot be tied
to a single adapter.

To fix this now NULL is passed as user_data and the callbacks checks if
the adapter passed has been registered and if there is an endpoint for
the UUID requested.

11 years agoAVCTP: Add destroy callback to avctp_register_browsing_pdu_handler
Luiz Augusto von Dentz [Sun, 27 Jan 2013 23:52:16 +0000 (17:52 -0600)]
AVCTP: Add destroy callback to avctp_register_browsing_pdu_handler

This adds a destroy callback which is called when the PDU handler is
destroyed.

11 years agoAVCTP: Fix not destroying browsing channel if disconnected
Luiz Augusto von Dentz [Sun, 27 Jan 2013 23:52:15 +0000 (17:52 -0600)]
AVCTP: Fix not destroying browsing channel if disconnected

If the browsing channel is disconnected it should be destroyed
immediatelly and set to NULL otherwise it will point to invalid channel.

11 years agoAVRCP: Fix not handling commands while browsing is connecting
Luiz Augusto von Dentz [Sun, 27 Jan 2013 23:52:14 +0000 (17:52 -0600)]
AVRCP: Fix not handling commands while browsing is connecting

With introdution of browsing channel the .init callback is called when
browsing channel connection completes, but in the meantime the remote
device can send commands over control channel.

To fix this the init callaback of control and browsing channel are now
separated into .init_control and .init_browsing so the handler can be
register as soon the respective channel connection completes.

11 years agotools: Add mixed UUIDs test case for mgmt_add_uuid
Johan Hedberg [Sun, 27 Jan 2013 17:08:44 +0000 (19:08 +0200)]
tools: Add mixed UUIDs test case for mgmt_add_uuid

11 years agocore: Allow adding all kinds of UUID for mgmt >= 1.3
Johan Hedberg [Sun, 27 Jan 2013 16:40:27 +0000 (10:40 -0600)]
core: Allow adding all kinds of UUID for mgmt >= 1.3

Before 1.3 the kernel wouldn't handle 32 and 128 bit UUIDs properly but
from that revision onwards any type of UUID can be safely added and
removed through mgmt.

11 years agocore: Add convenience macro for comparing mgmt versions
Johan Hedberg [Sun, 27 Jan 2013 16:49:31 +0000 (10:49 -0600)]
core: Add convenience macro for comparing mgmt versions

11 years agoemulator: Fix LE Read White List Size response variable naming
Johan Hedberg [Sun, 27 Jan 2013 11:09:49 +0000 (05:09 -0600)]
emulator: Fix LE Read White List Size response variable naming

11 years agounit: Add extracted UUID string list to each test case
Marcel Holtmann [Sun, 27 Jan 2013 05:04:18 +0000 (06:04 +0100)]
unit: Add extracted UUID string list to each test case

11 years agounit: Compare UUID list from EIR data
Marcel Holtmann [Sun, 27 Jan 2013 04:48:00 +0000 (05:48 +0100)]
unit: Compare UUID list from EIR data

11 years agounit: Print UUID list from EIR parsing in verbose mode
Marcel Holtmann [Sun, 27 Jan 2013 04:36:49 +0000 (05:36 +0100)]
unit: Print UUID list from EIR parsing in verbose mode

11 years agounit: Add inquiry data from Nokia Reaction BH-907 headset for testing
Marcel Holtmann [Sun, 27 Jan 2013 04:20:57 +0000 (05:20 +0100)]
unit: Add inquiry data from Nokia Reaction BH-907 headset for testing

11 years agounit: Include tests for TX power from EIR and AD
Marcel Holtmann [Sun, 27 Jan 2013 04:20:16 +0000 (05:20 +0100)]
unit: Include tests for TX power from EIR and AD

11 years agocore: Parse the TX power level from EIR data
Marcel Holtmann [Sun, 27 Jan 2013 04:18:16 +0000 (05:18 +0100)]
core: Parse the TX power level from EIR data

11 years agoavctp: Handle Vol Up/Down operations
João Paulo Rechi Vita [Fri, 25 Jan 2013 17:54:58 +0000 (14:54 -0300)]
avctp: Handle Vol Up/Down operations

The AVRCP spec mandates to support 'volume up' and 'volume down'
operations when claiming support for Category 2 TG.

11 years agoemulator: Add support for LE Read White List Size command
Johan Hedberg [Sat, 26 Jan 2013 17:13:52 +0000 (19:13 +0200)]
emulator: Add support for LE Read White List Size command

11 years agotools: Add mgmt_set_le test cases
Johan Hedberg [Sat, 26 Jan 2013 17:06:58 +0000 (19:06 +0200)]
tools: Add mgmt_set_le test cases

11 years agotools: Add mgmt_set_ssp test cases
Johan Hedberg [Sat, 26 Jan 2013 16:55:14 +0000 (18:55 +0200)]
tools: Add mgmt_set_ssp test cases

11 years agotools: Rename setup_ssp to match its true function
Johan Hedberg [Sat, 26 Jan 2013 16:47:39 +0000 (18:47 +0200)]
tools: Rename setup_ssp to match its true function

11 years agotools: Add another mgmt_set_link_security success test case
Johan Hedberg [Sat, 26 Jan 2013 15:46:19 +0000 (17:46 +0200)]
tools: Add another mgmt_set_link_security success test case

11 years agotools: Add basic mgmt_set_link_security(off) test cases
Johan Hedberg [Sat, 26 Jan 2013 15:40:53 +0000 (17:40 +0200)]
tools: Add basic mgmt_set_link_security(off) test cases

11 years agotools: Fix mgmt-tester setup function logs
Johan Hedberg [Sat, 26 Jan 2013 14:31:57 +0000 (16:31 +0200)]
tools: Fix mgmt-tester setup function logs

11 years agotools: Add basic set connectable off test cases
Johan Hedberg [Sat, 26 Jan 2013 14:21:37 +0000 (16:21 +0200)]
tools: Add basic set connectable off test cases

11 years agotools: Add invalid params test cases for mgmt_set_powered(off)
Johan Hedberg [Sat, 26 Jan 2013 12:52:13 +0000 (14:52 +0200)]
tools: Add invalid params test cases for mgmt_set_powered(off)

11 years agotools: Add mgmt_read_version success test case
Johan Hedberg [Sat, 26 Jan 2013 12:31:18 +0000 (14:31 +0200)]
tools: Add mgmt_read_version success test case

11 years agoadapter: Fix not removing a device when the adapter is down
Vinicius Costa Gomes [Fri, 25 Jan 2013 14:30:59 +0000 (11:30 -0300)]
adapter: Fix not removing a device when the adapter is down

It is a documented error that MGMT_UNPAIR_DEVICE should return an error
if the controller is not powered.

This error is being ignored, and if the user asks for a device to be
removed while the controller is powered down, the keys associated with
that device will still be in the kernel side.

The solution is to return the user an error when it is asked to remove a
device and the controller is not powered.

11 years agocore: Increase pairing timeout to 2 minutes
Johan Hedberg [Fri, 25 Jan 2013 16:12:58 +0000 (18:12 +0200)]
core: Increase pairing timeout to 2 minutes

The agent callbacks have a timeout of 1 minute which would never be
triggered if we have a shorter timeout for the entire pairing process.

11 years agocore: Add reasoning for mgmt_pair_device timeout
Johan Hedberg [Fri, 25 Jan 2013 16:12:44 +0000 (18:12 +0200)]
core: Add reasoning for mgmt_pair_device timeout

11 years agocore: Add reasoning for ATT connection during paring
Johan Hedberg [Fri, 25 Jan 2013 16:10:53 +0000 (18:10 +0200)]
core: Add reasoning for ATT connection during paring

11 years agocore: Implement Device1.Connect() support for LE devices
Johan Hedberg [Fri, 25 Jan 2013 10:23:26 +0000 (12:23 +0200)]
core: Implement Device1.Connect() support for LE devices

11 years agotools: Fix format string warnings for g_dbus_create_error
Chan-yeol Park [Fri, 25 Jan 2013 09:28:10 +0000 (18:28 +0900)]
tools: Fix format string warnings for g_dbus_create_error

This patch fixes gcc warnings for "format not a string literal and no
format arguments".

11 years agocore: Connect ATT IO before pairing
Johan Hedberg [Fri, 25 Jan 2013 09:44:20 +0000 (11:44 +0200)]
core: Connect ATT IO before pairing

Due to kernel-side issues we might miss ATT commands which arrive during
the SMP procedure. Therefore, connect ATT first and only then attempt to
pair.

11 years agocore: Make device_connect LE return int instead of GIOChannel
Johan Hedberg [Fri, 25 Jan 2013 09:48:53 +0000 (11:48 +0200)]
core: Make device_connect LE return int instead of GIOChannel

The IO channel doesn't need external tracking so just return a simple
int instead.

11 years agotest: Use a 60-second timeout for pairing
Johan Hedberg [Fri, 25 Jan 2013 09:44:16 +0000 (11:44 +0200)]
test: Use a 60-second timeout for pairing

11 years agocore: Fix pairing LE devices
Johan Hedberg [Fri, 25 Jan 2013 09:16:38 +0000 (11:16 +0200)]
core: Fix pairing LE devices

This patch removes the connect list usage for LE device pairing and
instead goes ahead and calls mgmt_pair_device directly. Because this can
get stuck forever with kernels that do not have proper timeout handling
for mgmt_pair_device the patch also adds a timeout to call
mgmt_cancel_pair_device if nothing happens within one minute.

11 years agohealth: Update to new adapter_get_device API
Johan Hedberg [Fri, 25 Jan 2013 08:59:24 +0000 (10:59 +0200)]
health: Update to new adapter_get_device API

11 years agoaudio: Update to new adapter_get_device API
Johan Hedberg [Fri, 25 Jan 2013 08:59:01 +0000 (10:59 +0200)]
audio: Update to new adapter_get_device API

11 years agoneard: Update to new adapter_get_device API
Johan Hedberg [Fri, 25 Jan 2013 08:58:40 +0000 (10:58 +0200)]
neard: Update to new adapter_get_device API

11 years agocore: Use bdaddr_t instead of char * for device creation
Johan Hedberg [Fri, 25 Jan 2013 08:57:20 +0000 (10:57 +0200)]
core: Use bdaddr_t instead of char * for device creation

11 years agotools: Fix glib assert in mgmt-tester if hci_vhci module is not loaded
Szymon Janc [Mon, 21 Jan 2013 20:25:54 +0000 (21:25 +0100)]
tools: Fix glib assert in mgmt-tester if hci_vhci module is not loaded

Print descriptive warning on HCI emulation setup failure and fail test
gracefully. This is better comparing to glib assertion when not fully
initialized HCI emulation is being unreferenced.

11 years agotools: Emit Seeked signal if Position changes
Luiz Augusto von Dentz [Thu, 24 Jan 2013 09:58:04 +0000 (11:58 +0200)]
tools: Emit Seeked signal if Position changes

MPRIS spec says PropertiesChanged is not emitted for Position, which is
probably to make clear that progress is done using the rate, so instead
Seeked should be emitted.

11 years agotools: Add volume support for mpris-player
Luiz Augusto von Dentz [Thu, 24 Jan 2013 09:58:03 +0000 (11:58 +0200)]
tools: Add volume support for mpris-player

This uses MediaTransport1 to track the Volume changes.

11 years agotools: Make mpris-player to export org.mpris.MediaPlayer2
Luiz Augusto von Dentz [Thu, 24 Jan 2013 09:58:02 +0000 (11:58 +0200)]
tools: Make mpris-player to export org.mpris.MediaPlayer2

This adds support for org.mpris.MediaPlayer2 interface whic is also
mandatory accourding to MPRIS spec.

11 years agotools: Convert player's properties changed signals to MPRIS
Luiz Augusto von Dentz [Thu, 24 Jan 2013 09:58:01 +0000 (11:58 +0200)]
tools: Convert player's properties changed signals to MPRIS

Thsi convert properties changed signals from org.bluez.MediaPlayer1 to
org.mpris.MediaPlayer2.Player interface.

11 years agotools: Add support for setting Shuffle and LoopStatus to mpris-player
Luiz Augusto von Dentz [Thu, 24 Jan 2013 09:58:00 +0000 (11:58 +0200)]
tools: Add support for setting Shuffle and LoopStatus to mpris-player

This add write support for Shuffle and LoopStatus properties of
org.mpris.MediaPlayer2.Player interface.

11 years agotools: Make mpris-player to export players using MPRIS interface
Luiz Augusto von Dentz [Thu, 24 Jan 2013 09:57:59 +0000 (11:57 +0200)]
tools: Make mpris-player to export players using MPRIS interface

Players found are exported in private connections using
org.mpris.MediaPlayer2.<device name> on the session bus.

11 years agodevice: Rename device_att_connect to device_connect_le
Vinicius Costa Gomes [Fri, 25 Jan 2013 03:07:05 +0000 (00:07 -0300)]
device: Rename device_att_connect to device_connect_le

This makes it clearer that this (currently unused) function should
only be used with LE devices.

11 years agodevice: Clean up device_att_connect()
Vinicius Costa Gomes [Fri, 25 Jan 2013 03:07:04 +0000 (00:07 -0300)]
device: Clean up device_att_connect()

device_att_connect() is used to make an ATT connection to an LE device.

We clean it (and its associated callback) to have better error handling
and to respond the user with an error when it happens.

As it is only used for LE devices, we remove all the handling for non-LE
devices.

11 years agodevice: Fix memory leak while storing GATT capable devices
Vinicius Costa Gomes [Fri, 25 Jan 2013 03:07:03 +0000 (00:07 -0300)]
device: Fix memory leak while storing GATT capable devices

bt_uuid2string() returns a newly allocated string, and so it should
be free'd.

11 years agounit: Add inquiry data from Gigaset SL400H and SL910 for teseting
Marcel Holtmann [Fri, 25 Jan 2013 00:55:59 +0000 (01:55 +0100)]
unit: Add inquiry data from Gigaset SL400H and SL910 for teseting

11 years agotools: Add partial UUID-128 test case to mgmt-tester
Johan Hedberg [Thu, 24 Jan 2013 17:49:09 +0000 (19:49 +0200)]
tools: Add partial UUID-128 test case to mgmt-tester

11 years agotools: Add partial UUID-32 test case to mgmt-tester
Johan Hedberg [Thu, 24 Jan 2013 17:36:48 +0000 (19:36 +0200)]
tools: Add partial UUID-32 test case to mgmt-tester

11 years agotools: Add partial UUID-16 list test case to mgmt-tester
Johan Hedberg [Thu, 24 Jan 2013 15:44:12 +0000 (17:44 +0200)]
tools: Add partial UUID-16 list test case to mgmt-tester

11 years agotools: Add multiple UUID-128 test case to mgmt-tester
Johan Hedberg [Thu, 24 Jan 2013 13:31:45 +0000 (15:31 +0200)]
tools: Add multiple UUID-128 test case to mgmt-tester

11 years agotools: Add initial UUID-128 mgmt-tester test case
Johan Hedberg [Thu, 24 Jan 2013 13:26:27 +0000 (15:26 +0200)]
tools: Add initial UUID-128 mgmt-tester test case

11 years agotools: Add more UUIDs to 16-bit mgmt-tester test case
Johan Hedberg [Thu, 24 Jan 2013 13:07:17 +0000 (15:07 +0200)]
tools: Add more UUIDs to 16-bit mgmt-tester test case

11 years agotools: Add more UUIDs to 32-bit mgmt-tester test case
Johan Hedberg [Thu, 24 Jan 2013 13:02:03 +0000 (15:02 +0200)]
tools: Add more UUIDs to 32-bit mgmt-tester test case

11 years agotools: Add Multiple 32-bit UUID test case to mgmt-tester
Johan Hedberg [Thu, 24 Jan 2013 12:23:37 +0000 (14:23 +0200)]
tools: Add Multiple 32-bit UUID test case to mgmt-tester

11 years agotools: Fix multiple UUID expected EIR data
Johan Hedberg [Thu, 24 Jan 2013 11:46:30 +0000 (13:46 +0200)]
tools: Fix multiple UUID expected EIR data

New kernels add the UUIDs to EIR in the same order that they were added
through mgmt (instead of the inverse which older kernels do).

11 years agounit: Add advertising data from Wahoo scale for testing
Marcel Holtmann [Wed, 23 Jan 2013 23:24:23 +0000 (15:24 -0800)]
unit: Add advertising data from Wahoo scale for testing

11 years agotools: Fix pbap-client to use new print syntax
Luiz Augusto von Dentz [Wed, 23 Jan 2013 11:08:32 +0000 (13:08 +0200)]
tools: Fix pbap-client to use new print syntax

11 years agoavrcp: Ignore MSB of Absolute Volume parameter
João Paulo Rechi Vita [Fri, 18 Jan 2013 19:25:20 +0000 (16:25 -0300)]
avrcp: Ignore MSB of Absolute Volume parameter

According to the Section 6.13.1 of the AVRCP 1.5 specification document,
the most significant bit of the Absolute Volume parameter is reserved
for future additions, so it should be ignored when parsing parameters of
the SetAbsoluteVolume command. This is also necessary to pass PTS test
TC_TG_VLH_BI_02_C.

11 years agoavctp: Set browsing channel connection for ct
Alexandros Antonopoulos [Tue, 22 Jan 2013 10:34:04 +0000 (11:34 +0100)]
avctp: Set browsing channel connection for ct

Add two extra states for the browsing channel and handle the connection
sequence in avrcp.c

11 years agoavctp: Add functionality for CT browsing commands
Alexandros Antonopoulos [Tue, 22 Jan 2013 10:32:43 +0000 (11:32 +0100)]
avctp: Add functionality for CT browsing commands

Add the missing functionality for full support of browsing channel
on the CT side. This is required for AVRCP >= 1.4
The patch is based on the control channel functionality

11 years agocore: Only set EIR data pointer after confirming it points to valid memory
Johan Hedberg [Tue, 22 Jan 2013 13:48:25 +0000 (15:48 +0200)]
core: Only set EIR data pointer after confirming it points to valid memory

Even though we do not access the memory it's still safer not to have any
pointers to it until we know it's valid.

11 years agomonitor: Add support for passkey notify mgmt events
Johan Hedberg [Tue, 22 Jan 2013 13:39:55 +0000 (15:39 +0200)]
monitor: Add support for passkey notify mgmt events