OSDN Git Service

android-x86/external-bluetooth-bluez.git
10 years agomonitor: Add support for decoding failed contact counter commands
Marcel Holtmann [Tue, 27 Aug 2013 23:42:56 +0000 (16:42 -0700)]
monitor: Add support for decoding failed contact counter commands

10 years agomonitor: Add structures for failed contact counters
Marcel Holtmann [Tue, 27 Aug 2013 23:42:37 +0000 (16:42 -0700)]
monitor: Add structures for failed contact counters

10 years agomonitor: Add support for decoding HCI Read Channel Map command
Marcel Holtmann [Tue, 27 Aug 2013 21:56:34 +0000 (14:56 -0700)]
monitor: Add support for decoding HCI Read Channel Map command

10 years agomonitor: Add structures for HCI channel map command
Marcel Holtmann [Tue, 27 Aug 2013 21:55:52 +0000 (14:55 -0700)]
monitor: Add structures for HCI channel map command

10 years agomonitor: Add support for decoding Read RSSI and Read Link Quality
Marcel Holtmann [Tue, 27 Aug 2013 21:32:15 +0000 (14:32 -0700)]
monitor: Add support for decoding Read RSSI and Read Link Quality

10 years agomonitor: Add structures for RSSI and link quality commands
Marcel Holtmann [Tue, 27 Aug 2013 21:31:44 +0000 (14:31 -0700)]
monitor: Add structures for RSSI and link quality commands

10 years agomonitor: Add support for decoding HCI Read Clock command
Marcel Holtmann [Tue, 27 Aug 2013 21:12:59 +0000 (14:12 -0700)]
monitor: Add support for decoding HCI Read Clock command

10 years agomonitor: Add structures for HCI read clock command
Marcel Holtmann [Tue, 27 Aug 2013 21:12:25 +0000 (14:12 -0700)]
monitor: Add structures for HCI read clock command

10 years agoobexd: Use g_dbus_get_properties when parsing MAP-msg-listing
Christian Fetzer [Thu, 22 Aug 2013 16:08:40 +0000 (18:08 +0200)]
obexd: Use g_dbus_get_properties when parsing MAP-msg-listing

Currently the message D-Bus properties for the ListMessages response are put
together manually in the parse_* functions unsing obex_dbus_dict_append.
This patch simplifies it by calling g_dbus_get_properties for every message.

10 years agoobexd: Fix memleak when unregistering MAP event handler
Christian Fetzer [Thu, 22 Aug 2013 16:07:49 +0000 (18:07 +0200)]
obexd: Fix memleak when unregistering MAP event handler

96 bytes in 3 blocks are definitely lost in loss record 217 of 310
  at 0x4C29E84: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
  by 0x5977858: g_malloc0 (in /usr/lib/libglib-2.0.so.0.3600.3)
  by 0x433A87: map_register_event_handler (map-event.c:76)
  by 0x4324C1: set_notification_registration (map.c:1722)
  by 0x4325BB: map_probe (map.c:1801)
  by 0x42D55C: obc_session_register (session.c:862)
  by 0x42BE4B: create_callback (manager.c:100)
  by 0x42CA0D: connect_cb (session.c:281)
  by 0x4191CB: handle_response (gobex.c:949)
  by 0x4196F0: incoming_data (gobex.c:1192)
  by 0x5971DA5: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.3600.3)
  by 0x59720F7: ??? (in /usr/lib/libglib-2.0.so.0.3600.3)

10 years agomonitor: Decode missing fields of link layer connect request
Marcel Holtmann [Mon, 26 Aug 2013 03:17:23 +0000 (20:17 -0700)]
monitor: Decode missing fields of link layer connect request

10 years agomonitor: Add complete decoding of LL control PDUs
Marcel Holtmann [Mon, 26 Aug 2013 02:45:46 +0000 (19:45 -0700)]
monitor: Add complete decoding of LL control PDUs

10 years agomonitor: Add LL control PDU constants and structures
Marcel Holtmann [Mon, 26 Aug 2013 02:45:08 +0000 (19:45 -0700)]
monitor: Add LL control PDU constants and structures

10 years agomonitor: Export printing functions for LL features and channel map
Marcel Holtmann [Mon, 26 Aug 2013 02:41:28 +0000 (19:41 -0700)]
monitor: Export printing functions for LL features and channel map

10 years agomonitor: Export printing functions for version and company strings
Marcel Holtmann [Mon, 26 Aug 2013 01:59:35 +0000 (18:59 -0700)]
monitor: Export printing functions for version and company strings

10 years agomonitor: Use Bluetooth monitor type for HCI traces
Marcel Holtmann [Sun, 25 Aug 2013 23:12:17 +0000 (16:12 -0700)]
monitor: Use Bluetooth monitor type for HCI traces

10 years agotools: Update magic definition for BTSnoop file format
Marcel Holtmann [Sun, 25 Aug 2013 19:20:57 +0000 (12:20 -0700)]
tools: Update magic definition for BTSnoop file format

10 years agotools: Fix typo in error message
Marcel Holtmann [Sun, 25 Aug 2013 18:20:20 +0000 (11:20 -0700)]
tools: Fix typo in error message

10 years agobuild: Include btsnoop and PCAP file handling functions
Marcel Holtmann [Sun, 25 Aug 2013 18:19:05 +0000 (11:19 -0700)]
build: Include btsnoop and PCAP file handling functions

10 years agoshared: Add functions for PCAP file handling
Marcel Holtmann [Sun, 25 Aug 2013 18:18:22 +0000 (11:18 -0700)]
shared: Add functions for PCAP file handling

10 years agoshared: Add functions for btsnoop file handling
Marcel Holtmann [Sun, 25 Aug 2013 18:17:04 +0000 (11:17 -0700)]
shared: Add functions for btsnoop file handling

10 years agomonitor: Overwrite existing link layer access addresses
Marcel Holtmann [Sun, 25 Aug 2013 18:11:46 +0000 (11:11 -0700)]
monitor: Overwrite existing link layer access addresses

10 years agomonitor: Add support for LMP decoding
Marcel Holtmann [Sat, 24 Aug 2013 03:43:01 +0000 (20:43 -0700)]
monitor: Add support for LMP decoding

10 years agomonitor: Add support for decoding link layer packets
Marcel Holtmann [Sat, 24 Aug 2013 03:35:15 +0000 (20:35 -0700)]
monitor: Add support for decoding link layer packets

10 years agomonitor: Fix printing of physical packet from simulation
Marcel Holtmann [Sat, 24 Aug 2013 03:33:57 +0000 (20:33 -0700)]
monitor: Fix printing of physical packet from simulation

10 years agomonitor: Add label parameter to address printing function
Marcel Holtmann [Sat, 24 Aug 2013 03:33:01 +0000 (20:33 -0700)]
monitor: Add label parameter to address printing function

10 years agomonitor: Move btsnoop file creating into control handling
Marcel Holtmann [Fri, 23 Aug 2013 17:58:52 +0000 (10:58 -0700)]
monitor: Move btsnoop file creating into control handling

10 years agotools: Use btsnoop constants in conversion utility
Marcel Holtmann [Fri, 23 Aug 2013 16:52:49 +0000 (09:52 -0700)]
tools: Use btsnoop constants in conversion utility

10 years agomonitor: Export function for printing LE addresses
Marcel Holtmann [Fri, 23 Aug 2013 08:05:49 +0000 (01:05 -0700)]
monitor: Export function for printing LE addresses

10 years agomonitor: Export function for print advertising data
Marcel Holtmann [Fri, 23 Aug 2013 07:54:51 +0000 (00:54 -0700)]
monitor: Export function for print advertising data

10 years agounit: Add test case for link layer CRC functions
Marcel Holtmann [Thu, 22 Aug 2013 06:06:02 +0000 (23:06 -0700)]
unit: Add test case for link layer CRC functions

10 years agomonitor: Add functions for link layer CRC calculations
Marcel Holtmann [Thu, 22 Aug 2013 06:04:59 +0000 (23:04 -0700)]
monitor: Add functions for link layer CRC calculations

10 years agotest/test-nap: Fix interface name
Luiz Augusto von Dentz [Wed, 21 Aug 2013 10:49:09 +0000 (13:49 +0300)]
test/test-nap: Fix interface name

10 years agonetwork: Fix crash after removing adapter
Luiz Augusto von Dentz [Wed, 21 Aug 2013 10:43:56 +0000 (13:43 +0300)]
network: Fix crash after removing adapter

The service watch is not removed so once the client disconnects the
callback is called using the data already freed:
Invalid read of size 8
   at 0x428CFE: server_remove_sessions.isra.0 (server.c:605)
   by 0x428D80: server_disconnect (server.c:626)
   by 0x475426: service_filter (watch.c:486)
   by 0x47569A: message_filter (watch.c:554)
   by 0x32F840F9E5: dbus_connection_dispatch (in /usr/lib64/libdbus-1.so.3.7.4)
   by 0x474347: message_dispatch (mainloop.c:76)
   by 0x3383648962: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x3383647E05: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x3383648157: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x3383648559: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x40A2CF: main (main.c:583)
 Address 0x4eb5f00 is 32 bytes inside a block of size 56 free'd
   at 0x4A074C4: free (in /usr/lib64/valgrind/vgpreload_memcheck-amd64-linux.so)
   by 0x338364D9AE: g_free (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x429663: server_unregister (server.c:848)
   by 0x33836648F7: g_slist_foreach (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x454180: adapter_remove (adapter.c:2886)
   by 0x45C940: index_removed (adapter.c:5651)
   by 0x467FDF: received_data (mgmt.c:252)
   by 0x3383647E05: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x3383648157: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x3383648559: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x40A2CF: main (main.c:583)

10 years agomonitor: Add stub for link layer decoding
Marcel Holtmann [Wed, 21 Aug 2013 02:56:21 +0000 (19:56 -0700)]
monitor: Add stub for link layer decoding

10 years agomonitor: Add support for reading physical simulation traces
Marcel Holtmann [Wed, 21 Aug 2013 02:44:35 +0000 (19:44 -0700)]
monitor: Add support for reading physical simulation traces

10 years agomonitor: Add btsnoop functions physical datalink type
Marcel Holtmann [Wed, 21 Aug 2013 02:43:25 +0000 (19:43 -0700)]
monitor: Add btsnoop functions physical datalink type

10 years agomonitor: Add decoding stub for simulator packets
Marcel Holtmann [Wed, 21 Aug 2013 02:42:40 +0000 (19:42 -0700)]
monitor: Add decoding stub for simulator packets

10 years agomonitor: Remove datalink check when creating btsnoop files
Marcel Holtmann [Wed, 21 Aug 2013 00:25:21 +0000 (17:25 -0700)]
monitor: Remove datalink check when creating btsnoop files

10 years agomonitor: Add include for stdint.h header
Marcel Holtmann [Tue, 20 Aug 2013 23:53:18 +0000 (16:53 -0700)]
monitor: Add include for stdint.h header

10 years agomonitor: Use btsnoop constants for different packet types
Marcel Holtmann [Tue, 20 Aug 2013 23:41:45 +0000 (16:41 -0700)]
monitor: Use btsnoop constants for different packet types

10 years agomonitor: Add stub for handling vendor events
Marcel Holtmann [Tue, 20 Aug 2013 23:37:41 +0000 (16:37 -0700)]
monitor: Add stub for handling vendor events

10 years agomonitor: Remove unused functions for btsnoop flag conversion
Marcel Holtmann [Tue, 20 Aug 2013 23:32:37 +0000 (16:32 -0700)]
monitor: Remove unused functions for btsnoop flag conversion

10 years agomonitor: Specify and use btsnoop opcode constants
Marcel Holtmann [Tue, 20 Aug 2013 23:31:54 +0000 (16:31 -0700)]
monitor: Specify and use btsnoop opcode constants

10 years agomonitor: Provide function for generic btsnoop write operation
Marcel Holtmann [Tue, 20 Aug 2013 23:17:08 +0000 (16:17 -0700)]
monitor: Provide function for generic btsnoop write operation

10 years agomonitor: Use explicit functionnames for btsnoop packet operations
Marcel Holtmann [Tue, 20 Aug 2013 23:10:17 +0000 (16:10 -0700)]
monitor: Use explicit functionnames for btsnoop packet operations

10 years agomonitor: Allow specifying type of btsnoop file to create
Marcel Holtmann [Tue, 20 Aug 2013 22:58:53 +0000 (15:58 -0700)]
monitor: Allow specifying type of btsnoop file to create

10 years agomonitor: Set default index filter in control handler
Marcel Holtmann [Tue, 20 Aug 2013 22:52:20 +0000 (15:52 -0700)]
monitor: Set default index filter in control handler

10 years agomonitor: Use constants for btsnoop datalink types
Marcel Holtmann [Tue, 20 Aug 2013 22:45:49 +0000 (15:45 -0700)]
monitor: Use constants for btsnoop datalink types

10 years agobuild: Fix not checking readline.h for bluetooth-player
Luiz Augusto von Dentz [Mon, 12 Aug 2013 11:57:33 +0000 (14:57 +0300)]
build: Fix not checking readline.h for bluetooth-player

If --disable-client is passed to configure script is possible to build
BlueZ without readline which would cause the following error:

tools/bluetooth-player.c:36:31: fatal error: readline/readline.h: No such file or directory
 #include <readline/readline.h>
                               ^

10 years agomonitor: Return btsnoop type when opening files
Marcel Holtmann [Tue, 20 Aug 2013 06:11:16 +0000 (23:11 -0700)]
monitor: Return btsnoop type when opening files

10 years agomonitor: Use separate btsnoop write routine
Marcel Holtmann [Tue, 20 Aug 2013 05:33:07 +0000 (22:33 -0700)]
monitor: Use separate btsnoop write routine

10 years agomonitor: Add error constant for memory capacity exceeded
Marcel Holtmann [Mon, 19 Aug 2013 18:05:06 +0000 (11:05 -0700)]
monitor: Add error constant for memory capacity exceeded

10 years agobuild: Add sco-tester to .gitignore list
Marcel Holtmann [Sun, 18 Aug 2013 17:43:55 +0000 (10:43 -0700)]
build: Add sco-tester to .gitignore list

10 years agomonitor: Fix spelling for LE supported states
Marcel Holtmann [Sat, 17 Aug 2013 19:19:36 +0000 (12:19 -0700)]
monitor: Fix spelling for LE supported states

10 years agomonitor: Fix structure for LE Set Scan Response Data command
Marcel Holtmann [Thu, 15 Aug 2013 09:45:26 +0000 (02:45 -0700)]
monitor: Fix structure for LE Set Scan Response Data command

10 years agomonitor: Fix decoding for LE Test End responses
Marcel Holtmann [Thu, 15 Aug 2013 07:07:57 +0000 (00:07 -0700)]
monitor: Fix decoding for LE Test End responses

10 years agomonitor: Add two more HCI error code constants
Marcel Holtmann [Thu, 15 Aug 2013 07:06:15 +0000 (00:06 -0700)]
monitor: Add two more HCI error code constants

10 years agomonitor: Fix size in LE Test End fields
Marcel Holtmann [Thu, 15 Aug 2013 07:05:19 +0000 (00:05 -0700)]
monitor: Fix size in LE Test End fields

10 years agomonitor: Add missing number of completed packets event mask
Marcel Holtmann [Tue, 13 Aug 2013 16:28:51 +0000 (09:28 -0700)]
monitor: Add missing number of completed packets event mask

10 years agomonitor: Add decoding of LE test commands
Marcel Holtmann [Tue, 13 Aug 2013 03:50:44 +0000 (20:50 -0700)]
monitor: Add decoding of LE test commands

10 years agomonitor: Remove pointless empty lines
Marcel Holtmann [Tue, 13 Aug 2013 03:39:01 +0000 (20:39 -0700)]
monitor: Remove pointless empty lines

10 years agomonitor: Fix function names for some LE security commands
Marcel Holtmann [Tue, 13 Aug 2013 03:34:18 +0000 (20:34 -0700)]
monitor: Fix function names for some LE security commands

10 years agomonitor: Fix structures for LE long term key request commands
Marcel Holtmann [Tue, 13 Aug 2013 03:30:19 +0000 (20:30 -0700)]
monitor: Fix structures for LE long term key request commands

10 years agomonitor: Add definitions for LE test commands
Marcel Holtmann [Tue, 13 Aug 2013 03:26:47 +0000 (20:26 -0700)]
monitor: Add definitions for LE test commands

10 years agoclient/transfer: Add proper message to errors
Luiz Augusto von Dentz [Thu, 8 Aug 2013 13:41:14 +0000 (16:41 +0300)]
client/transfer: Add proper message to errors

This improve the error message when a transfer fails by using
g_obex_strerror to decode the response code to a human readable string.

10 years agogobex: Add proper message to transfer errors
Luiz Augusto von Dentz [Thu, 8 Aug 2013 13:08:16 +0000 (16:08 +0300)]
gobex: Add proper message to transfer errors

This improve the error message when a transfer fails by using
g_obex_strerror to decode the response code to a human readable string.

10 years agomonitor: Fix fields for LE Set Advertising Parameters command
Marcel Holtmann [Mon, 12 Aug 2013 04:29:08 +0000 (21:29 -0700)]
monitor: Fix fields for LE Set Advertising Parameters command

10 years agomonitor: Add support for LE Set Advertising Parameters command
Marcel Holtmann [Mon, 12 Aug 2013 04:28:03 +0000 (21:28 -0700)]
monitor: Add support for LE Set Advertising Parameters command

10 years agomonitor: Fix whitespace issue
Marcel Holtmann [Mon, 12 Aug 2013 04:09:52 +0000 (21:09 -0700)]
monitor: Fix whitespace issue

10 years agomonitor: Print proper LE address labels
Marcel Holtmann [Mon, 12 Aug 2013 04:07:53 +0000 (21:07 -0700)]
monitor: Print proper LE address labels

10 years agotools/scotest: Fix supporting hex voice setting values
Johan Hedberg [Thu, 8 Aug 2013 11:05:45 +0000 (14:05 +0300)]
tools/scotest: Fix supporting hex voice setting values

10 years agotools/scotest: Don't try BT_VOICE unless a non-zero voice setting was given
Johan Hedberg [Thu, 8 Aug 2013 11:00:46 +0000 (14:00 +0300)]
tools/scotest: Don't try BT_VOICE unless a non-zero voice setting was given

10 years agotools/btiotest: Fix applying voice setting for incoming connections
Johan Hedberg [Thu, 8 Aug 2013 09:48:37 +0000 (12:48 +0300)]
tools/btiotest: Fix applying voice setting for incoming connections

10 years agoRelease 5.8
Marcel Holtmann [Thu, 8 Aug 2013 05:32:56 +0000 (22:32 -0700)]
Release 5.8

10 years agobuild: Update library version
Marcel Holtmann [Wed, 7 Aug 2013 19:35:24 +0000 (12:35 -0700)]
build: Update library version

10 years agolib: Update company identifiers
Marcel Holtmann [Wed, 7 Aug 2013 19:21:46 +0000 (12:21 -0700)]
lib: Update company identifiers

10 years agotools: Fix path for bluetooth.org assigned numbers table
Marcel Holtmann [Wed, 7 Aug 2013 19:20:35 +0000 (12:20 -0700)]
tools: Fix path for bluetooth.org assigned numbers table

10 years agocore: Fix error message in profile ext_auth function
Frederic Danis [Thu, 1 Aug 2013 14:12:58 +0000 (16:12 +0200)]
core: Fix error message in profile ext_auth function

10 years agotools/btiotest: Print voice setting
Johan Hedberg [Thu, 1 Aug 2013 12:43:38 +0000 (15:43 +0300)]
tools/btiotest: Print voice setting

10 years agotools/sco-tester: Add more connection test cases
Frédéric Dalleau [Thu, 1 Aug 2013 09:54:18 +0000 (12:54 +0300)]
tools/sco-tester: Add more connection test cases

10 years agoshared/hciemu: Add hciemu_get_features API (needed for SCO tests)
Frédéric Dalleau [Thu, 1 Aug 2013 09:53:45 +0000 (12:53 +0300)]
shared/hciemu: Add hciemu_get_features API (needed for SCO tests)

10 years agoemulator: Add btdev_get_features API (needed for SCO tests)
Frédéric Dalleau [Thu, 1 Aug 2013 09:52:40 +0000 (12:52 +0300)]
emulator: Add btdev_get_features API (needed for SCO tests)

10 years agotools/sco-tester: Add new SCO test tool
Frédéric Dalleau [Thu, 1 Aug 2013 09:47:24 +0000 (12:47 +0300)]
tools/sco-tester: Add new SCO test tool

10 years agoemulator: Add SCO connection creation support
Frédéric Dalleau [Thu, 1 Aug 2013 09:46:49 +0000 (12:46 +0300)]
emulator: Add SCO connection creation support

10 years agoscotest: Add option for SCO voice setting
Frédéric Dalleau [Fri, 5 Jul 2013 15:46:45 +0000 (17:46 +0200)]
scotest: Add option for SCO voice setting

10 years agobtiotest: Add option for SCO voice setting
Frédéric Dalleau [Fri, 5 Jul 2013 15:46:44 +0000 (17:46 +0200)]
btiotest: Add option for SCO voice setting

10 years agobtio: Add option for SCO voice setting
Frédéric Dalleau [Fri, 5 Jul 2013 15:46:43 +0000 (17:46 +0200)]
btio: Add option for SCO voice setting

10 years agolib: SCO voice setting support header
Frédéric Dalleau [Wed, 26 Jun 2013 17:32:08 +0000 (19:32 +0200)]
lib: SCO voice setting support header

Modify headers to enable support for changing SCO voice setting.
Corresponding commit implements functionality on kernel side.

10 years agomonitor: Opencode strndupa in print_string
Szymon Janc [Wed, 31 Jul 2013 08:51:39 +0000 (10:51 +0200)]
monitor: Opencode strndupa in print_string

Strndupa is GNU extension. print_string is simple and opencoding
strndupa is not a big loss.

This fix linkage error with bionic library which doesn't provide
strndupa.

target Executable: btmon (out/target/product/grouper/obj/EXECUTABLES/
    btmon_intermediates/LINKED/btmon)
prebuilts/gcc/linux-x86/arm/arm-linux-androideabi-4.6/bin/../lib/gcc/
    arm-linux-androideabi/4.6.x-google/../../../../
    arm-linux-androideabi/bin/ld: out/target/product/grouper/obj/
    EXECUTABLES/btmon_intermediates/monitor/sdp.o: in function
    print_string:external/bluetooth/bluez/monitor/sdp.c:146: error:
    undefined reference to 'strndupa'
collect2: ld returned 1 exit status
make: *** [out/target/product/grouper/obj/EXECUTABLES/
    btmon_intermediates/LINKED/btmon] Error

10 years agoaudio/player: Fix overflowing position
Luiz Augusto von Dentz [Wed, 31 Jul 2013 11:27:52 +0000 (14:27 +0300)]
audio/player: Fix overflowing position

The position should stop at UINT32_MAX after that the progress can no
longer be calculated, this should also prevent the position to change
when the remote stack doesn't support it which is also indicated with
UINT32_MAX which apparently is the case of Spotify on Android 4.3:

[CHG] Player /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/player0 Position: 0xffffffff
[CHG] Player /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/player0 Status: playing
[CHG] Player /org/bluez/hci0/dev_XX_XX_XX_XX_XX_XX/player0 Position: 0x000000

10 years agoattrib: Add support for 128-bit characteristic UUIDs in gatt_service_add
Dirk-Jan C. Binnema [Mon, 29 Jul 2013 18:42:50 +0000 (11:42 -0700)]
attrib: Add support for 128-bit characteristic UUIDs in gatt_service_add

Custom GATT services typically use 128-bits UUIDs; this patch allows for
using gatt_service_add to define such services by adding a new option
GATT_OPT_CHR_UUID, which allows for passing bt_uuid_t* values. Note, a
previous patch renamed the old GATT_OPT_CHR_UUID into
GATT_OPT_CHR_UUID16.

10 years agoattrib: Rename GATT_OPT_CHR_UUID into GATT_OPT_CHR_UUID16
Dirk-Jan C. Binnema [Mon, 29 Jul 2013 18:42:49 +0000 (11:42 -0700)]
attrib: Rename GATT_OPT_CHR_UUID into GATT_OPT_CHR_UUID16

Rename the option for all in-tree users. This frees up GATT_OPT_CHR_UUID to be used
for UUIDs of type bt_uuid_t* (in a next patch).

10 years agoattrib: Update gatt_service_add size assert for dealing with 128-bit UUIDs
Dirk-Jan C. Binnema [Mon, 29 Jul 2013 18:42:48 +0000 (11:42 -0700)]
attrib: Update gatt_service_add size assert for dealing with 128-bit UUIDs

To paraphrase Anderson Lizardo: "h" was overflowing for 128-bit services
because the handle is incremented after each attribute is added so at
the end we had: 0xffff + 1 == 0 (h is uint16_t).

As it seems more complex to try to remove the overflow without affecting
the logic too much, we update the assertion.

10 years agoaudio/AVCTP: Do not process browsing queue until connection completes
Luiz Augusto von Dentz [Mon, 29 Jul 2013 14:04:39 +0000 (17:04 +0300)]
audio/AVCTP: Do not process browsing queue until connection completes

Any request processed before the connection completes will likely fail
in avctp_browsing_send so instead delay the processing.

10 years agoaudio/AVCTP: Fix connecting browsing channel multiple times
Luiz Augusto von Dentz [Mon, 29 Jul 2013 14:04:38 +0000 (17:04 +0300)]
audio/AVCTP: Fix connecting browsing channel multiple times

While accepting the connection via DEFER_SETUP a second connection can
be created by using avctp_connect_browsing which will not detect one is
in course as the state has not yet changed, this can cause memory leaks
or crashes as the following:

profiles/audio/avctp.c:avctp_confirm_cb() AVCTP: incoming connect from XX:XX:XX:XX:XX:XX
profiles/audio/avctp.c:avctp_set_state() AVCTP Browsing Connecting
profiles/audio/avctp.c:avctp_connect_browsing_cb() AVCTP Browsing: connected to XX:XX:XX:XX:XX:XX
profiles/audio/avctp.c:avctp_set_state() AVCTP Browsing Connected
profiles/audio/avctp.c:avctp_connect_browsing_cb() AVCTP Browsing: connected to XX:XX:XX:XX:XX:XX
profiles/audio/avctp.c:avctp_set_state() AVCTP Browsing Connected
profiles/audio/avctp.c:session_browsing_cb() AVCTP Browsing: disconnected
profiles/audio/avctp.c:avctp_set_state() AVCTP Connected
Invalid read of size 8
   at 0x41EB28: session_browsing_cb (avctp.c:842)
   by 0x32F5447E05: g_main_context_dispatch (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x32F5448157: ??? (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x32F5448559: g_main_loop_run (in /usr/lib64/libglib-2.0.so.0.3600.3)
   by 0x40A28F: main (main.c:583)
 Address 0x20 is not stack'd, malloc'd or (recently) free'd

10 years agoaudio/AVRCP: Connect browsing channel in case of GetCapabilities response
Luiz Augusto von Dentz [Mon, 29 Jul 2013 14:04:37 +0000 (17:04 +0300)]
audio/AVRCP: Connect browsing channel in case of GetCapabilities response

If the remote stack respond to GetCapabilities before connecting to
browsing channel connect it immediatelly as some events might depend on
it to work properly.

The spec actually recommends the browsing channel to be connected
immediatelly after the control channel:

AVRCP 1.5 - Page 23

"4.1.1 Connection establishment
...
If a browsing channel is supported by both devices it shall be
established after control channel establishment. It is recommended that
the browsing channel is established immediately after the control
channel is established and released immediately before the control
channel is released to avoid unsatisfactory latency when a browsing
command is sent."

10 years agoaudio/AVRCP: Connect browsing channel when accepting the connection
Luiz Augusto von Dentz [Mon, 29 Jul 2013 14:04:36 +0000 (17:04 +0300)]
audio/AVRCP: Connect browsing channel when accepting the connection

If remote stack for some reason don't connect the browsing channel
connect it after a timeout (1 sec.)

10 years agoaudio/AVRCP: Fix not setting browsing feature in CT record
Luiz Augusto von Dentz [Mon, 29 Jul 2013 14:04:35 +0000 (17:04 +0300)]
audio/AVRCP: Fix not setting browsing feature in CT record

The record already contain the additional protocol containing the
browsing channel but the feature is not set as it is supposed to.

10 years agoaudio/AVRCP: Fix not connecting Browsing channel when supported
Luiz Augusto von Dentz [Mon, 29 Jul 2013 14:04:34 +0000 (17:04 +0300)]
audio/AVRCP: Fix not connecting Browsing channel when supported

Both controller and target services can initiate the connection but
probably only one of the services will be in CONNECTING state which may
happen to not have browsing feature set.

Currently this happens when connecting BlueZ vs BlueZ where the CT record
does not have browsing feature set so if the corresponding service start
connecting it wont connect the browsing channel due to lack of feature.