OSDN Git Service

android-x86/external-bluetooth-bluez.git
11 years agoemulator: Add proper supported commands response values
Johan Hedberg [Fri, 19 Apr 2013 13:13:48 +0000 (16:13 +0300)]
emulator: Add proper supported commands response values

11 years agoemulator: Add missing command support checks
Johan Hedberg [Fri, 19 Apr 2013 13:02:55 +0000 (16:02 +0300)]
emulator: Add missing command support checks

11 years agoemulator: Add basic HCI_Set_Event_Mask_Page_2 support
Johan Hedberg [Fri, 19 Apr 2013 11:31:10 +0000 (14:31 +0300)]
emulator: Add basic HCI_Set_Event_Mask_Page_2 support

11 years agoemulator: Add sync train parameter reading support
Johan Hedberg [Thu, 18 Apr 2013 14:54:43 +0000 (17:54 +0300)]
emulator: Add sync train parameter reading support

11 years agoemulator: Fix extended features invalid params response
Johan Hedberg [Thu, 18 Apr 2013 14:54:05 +0000 (17:54 +0300)]
emulator: Fix extended features invalid params response

11 years agomonitor: Fix missing byte order conversions
Johan Hedberg [Thu, 18 Apr 2013 14:21:41 +0000 (17:21 +0300)]
monitor: Fix missing byte order conversions

11 years agomonitor: Add support for decoding read sync train params response
Johan Hedberg [Thu, 18 Apr 2013 12:26:27 +0000 (15:26 +0300)]
monitor: Add support for decoding read sync train params response

11 years agoobexd: Fix make distcheck
Luiz Augusto von Dentz [Wed, 17 Apr 2013 14:46:55 +0000 (17:46 +0300)]
obexd: Fix make distcheck

../obexd/client/map.c:43:17: fatal error: sdp.h: No such file or directory

11 years agotools: Fix mpris-player not forwarding method calls properly
Luiz Augusto von Dentz [Sat, 13 Apr 2013 19:16:24 +0000 (22:16 +0300)]
tools: Fix mpris-player not forwarding method calls properly

This fixes not sending methods calls to players, it now copies the
contents of the original message into the copy instead of relying on
dbus_message_copy and send the reply back.

11 years agoemulator: Add support for local features page 2
Johan Hedberg [Wed, 17 Apr 2013 11:55:58 +0000 (14:55 +0300)]
emulator: Add support for local features page 2

11 years agosdptool: Use macro to calculate array size
Luiz Augusto von Dentz [Wed, 17 Apr 2013 08:28:58 +0000 (11:28 +0300)]
sdptool: Use macro to calculate array size

11 years agotools: Add MAS profile attributes
Luiz Augusto von Dentz [Wed, 17 Apr 2013 08:17:21 +0000 (11:17 +0300)]
tools: Add MAS profile attributes

11 years agotest: Fix opp-client not printing progress
Luiz Augusto von Dentz [Wed, 10 Apr 2013 11:33:57 +0000 (14:33 +0300)]
test: Fix opp-client not printing progress

This avoid KeyError expection and fixes print usage.

11 years agoobexd: Read service attributes when instantiating MAP session
Christian Fetzer [Fri, 12 Apr 2013 09:29:06 +0000 (11:29 +0200)]
obexd: Read service attributes when instantiating MAP session

Parse the service attributes mas_instance_id and supported_message_types
from the transport's service attributes as soon as a connection is
established.

11 years agolib: Add attributes MASInstanceID and SupportedMessageTypes
Christian Fetzer [Fri, 12 Apr 2013 09:29:05 +0000 (11:29 +0200)]
lib: Add attributes MASInstanceID and SupportedMessageTypes

11 years agoobexd: Add obc_session_get_attribute to session
Christian Fetzer [Fri, 12 Apr 2013 09:29:04 +0000 (11:29 +0200)]
obexd: Add obc_session_get_attribute to session

This adds a obc_session_get_attribute function to the client session.
The function allows querying the session specific service attributes.

11 years agoobexd: Add bluetooth_getattribute to Bluetooth transport
Christian Fetzer [Fri, 12 Apr 2013 09:29:03 +0000 (11:29 +0200)]
obexd: Add bluetooth_getattribute to Bluetooth transport

This function makes the cached SDP attributes available for the profile
implementations.

11 years agoobexd: Add getattribute to obc_transport
Christian Fetzer [Fri, 12 Apr 2013 09:29:02 +0000 (11:29 +0200)]
obexd: Add getattribute to obc_transport

This adds a getattribute function pointer to obc_transport, which allows
transports to provide the session specific service attributes.

11 years agoobexd: Cache SDP record in bluetooth transport
Christian Fetzer [Fri, 12 Apr 2013 09:29:01 +0000 (11:29 +0200)]
obexd: Cache SDP record in bluetooth transport

This caches the SDP record of the active session in the Bluetooth
transport.

11 years agogatttool: Use error message prefixes consistently
Alvaro Silva [Tue, 2 Apr 2013 23:31:30 +0000 (19:31 -0400)]
gatttool: Use error message prefixes consistently

Replace rl_printf() calls with macros that add appropriate prefixes.

11 years agogatttool: Show info message when no primary service is found
Eder Ruiz Maria [Tue, 2 Apr 2013 23:31:29 +0000 (19:31 -0400)]
gatttool: Show info message when no primary service is found

11 years agogatttool: Use bluetoothctl strategy for unix signal handling
Eder Ruiz Maria [Tue, 2 Apr 2013 23:31:28 +0000 (19:31 -0400)]
gatttool: Use bluetoothctl strategy for unix signal handling

Now to exit from gatttool at interactive mode, user must use SIGTERM(15)
or press Ctrl+D. SIGINT(2) or Ctrl+C just flushes typed characters and
breaks line.

11 years agogatttool: Use bluetoothctl strategy to handle standard input
Eder Ruiz Maria [Tue, 2 Apr 2013 23:31:27 +0000 (19:31 -0400)]
gatttool: Use bluetoothctl strategy to handle standard input

Use GSource id returned by g_io_add_watch() instead of raw GIOChannel to
handle stdin and glib main loop.

11 years agogatttool: Remove connecting message from prompt
Alvaro Silva [Tue, 2 Apr 2013 23:31:26 +0000 (19:31 -0400)]
gatttool: Remove connecting message from prompt

When trying to connect, the "connecting" message is not set as prompt
anymore. Instead, it is printed just like other status messages and the
prompt is kept, allowing the user to send commands while connection is
being established.

11 years agogatttool: Show connection state using color
Alvaro Silva [Tue, 2 Apr 2013 23:31:25 +0000 (19:31 -0400)]
gatttool: Show connection state using color

When device is connected, the Bluetooth address is shown in blue color.

11 years agogatttool: Use bluetoothctl behavior when pressing Enter on empty prompt
Eder Ruiz Maria [Tue, 2 Apr 2013 23:31:24 +0000 (19:31 -0400)]
gatttool: Use bluetoothctl behavior when pressing Enter on empty prompt

11 years agogatttool: Replace more usages of printf() with rl_printf()
Eder Ruiz Maria [Tue, 2 Apr 2013 23:31:23 +0000 (19:31 -0400)]
gatttool: Replace more usages of printf() with rl_printf()

rl_printf() works better with readline than plain printf(), specially on
asynchronous callbacks.

11 years agogatttool: Fix issues with printf() and readline prompt
Eder Ruiz Maria [Tue, 2 Apr 2013 23:31:22 +0000 (19:31 -0400)]
gatttool: Fix issues with printf() and readline prompt

Use rl_printf() from bluetoothctl to consistently display messages. This
is specially important for asynchronous callbacks, where using printf()
may mess up the prompt created by readline.

11 years agogatttool: Use GError to propage error messages to caller
Eder Ruiz Maria [Tue, 16 Apr 2013 15:49:54 +0000 (11:49 -0400)]
gatttool: Use GError to propage error messages to caller

Handle runtime errors outside gatt_connect(), using GError to propagate
error messages to caller.

11 years agomonitor: Remove bogus entries from event mask table
Johan Hedberg [Tue, 16 Apr 2013 17:34:29 +0000 (20:34 +0300)]
monitor: Remove bogus entries from event mask table

The event mask is 64 bits so any bit offsets greater than that do not
make sense.

11 years agoaudio: Remove unused constants
João Paulo Rechi Vita [Fri, 12 Apr 2013 22:34:24 +0000 (19:34 -0300)]
audio: Remove unused constants

Removes the never used constants AUDIO_SINK_INTERFACE and
AUDIO_SOURCE_INTERFACE which are defined to "org.bluez.AudioSink" and
"org.bluez.AudioSource", respectively.

11 years agoaudio: Remove unused function
João Paulo Rechi Vita [Fri, 12 Apr 2013 22:34:23 +0000 (19:34 -0300)]
audio: Remove unused function

Removes the never used function audio_device_is_active.

11 years agoaudio: Remove unused constant
João Paulo Rechi Vita [Fri, 12 Apr 2013 22:34:22 +0000 (19:34 -0300)]
audio: Remove unused constant

Removes the never used constant AUDIO_INTERFACE which is defined to
"org.bluez.Audio".

11 years agoRelease 5.4
Marcel Holtmann [Thu, 11 Apr 2013 05:50:12 +0000 (22:50 -0700)]
Release 5.4

11 years agobuild: Update library version
Marcel Holtmann [Thu, 11 Apr 2013 05:24:32 +0000 (22:24 -0700)]
build: Update library version

11 years agolib: Update list of company identifiers
Marcel Holtmann [Thu, 11 Apr 2013 05:23:49 +0000 (22:23 -0700)]
lib: Update list of company identifiers

11 years agoobexd: Automatically setup notification connection for MAP client
Christian Fetzer [Tue, 9 Apr 2013 11:51:37 +0000 (13:51 +0200)]
obexd: Automatically setup notification connection for MAP client

This automatically establishes the MNS connection when the MAS client
session is started and terminates the MNS connection when the MAS client
session is closed.

The MAP client controls the notification channel using the
SetNotificationRegistration function. The MSE will connect/disconnect
the MNS connection accordingly.

11 years agoobexd: Enable MNS server
Christian Fetzer [Tue, 9 Apr 2013 11:51:36 +0000 (13:51 +0200)]
obexd: Enable MNS server

11 years agobuild: Add support for building MNS server
Christian Fetzer [Tue, 9 Apr 2013 11:51:35 +0000 (13:51 +0200)]
build: Add support for building MNS server

11 years agoobexd: Add Message Notification Service (MNS) server
Christian Fetzer [Tue, 9 Apr 2013 11:51:34 +0000 (13:51 +0200)]
obexd: Add Message Notification Service (MNS) server

This implements the server role of the MAP Message Notification Service
(MNS) which is part of the MAP Client Equipment (MCE) device.

After successful registration, the MNS will receive event reports,
notifying about state changes on the server side.

Possible events are: NewMessages, DeliverySuccess, SendingSuccess,
DeliveryFailure, SendingFailure, MemoryFull, MemoryAvailable,
MessageDeleted, MessageShift

11 years agoprofile: Add MNS server record
Christian Fetzer [Tue, 9 Apr 2013 11:51:33 +0000 (13:51 +0200)]
profile: Add MNS server record

This adds the MNS server record to the profile default settings.

11 years agoshared: Use gcc builtin instead of g_atomic
Lucas De Marchi [Mon, 8 Apr 2013 20:56:22 +0000 (17:56 -0300)]
shared: Use gcc builtin instead of g_atomic

g_atomic_* end up using G_STATIC_ASSERT, causing gcc 4.8 to yell due to
-Wunused-local-typedefs.

/usr/include/glib-2.0/glib/gmacros.h:162:53: error: typedef ‘_GStaticAssertCompileTimeAssertion_2’ locally defined but not used [-Werror=unused-local-typedefs]
 #define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1]

11 years agoobexd: Use gcc builtin instead of g_atomic
Lucas De Marchi [Mon, 8 Apr 2013 20:56:21 +0000 (17:56 -0300)]
obexd: Use gcc builtin instead of g_atomic

g_atomic_* end up using G_STATIC_ASSERT, causing gcc 4.8 to yell due to
-Wunused-local-typedefs.

/usr/include/glib-2.0/glib/gmacros.h:162:53: error: typedef ‘_GStaticAssertCompileTimeAssertion_2’ locally defined but not used [-Werror=unused-local-typedefs]
 #define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1]

Most of the uses of atomic operations were wrong. They were fixed as
well. If we are using atomic operations, reading the variable again
later for logging is not an option, we should use the return of the
atomic function used to fetch the variable.

11 years agogobex: Use gcc builtin instead of g_atomic
Lucas De Marchi [Mon, 8 Apr 2013 20:56:20 +0000 (17:56 -0300)]
gobex: Use gcc builtin instead of g_atomic

g_atomic_* end up using G_STATIC_ASSERT, causing gcc 4.8 to yell due to
-Wunused-local-typedefs.

/usr/include/glib-2.0/glib/gmacros.h:162:53: error: typedef ‘_GStaticAssertCompileTimeAssertion_2’ locally defined but not used [-Werror=unused-local-typedefs]
 #define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1]

Most of the uses of atomic operations were wrong. They were fixed as
well. If we are using atomic operations, reading the variable again
later for logging is not an option, we should use the return of the
atomic function used to fetch the variable.

11 years agoattrib: Use gcc builtin instead of g_atomic
Lucas De Marchi [Mon, 8 Apr 2013 20:56:19 +0000 (17:56 -0300)]
attrib: Use gcc builtin instead of g_atomic

g_atomic_* end up using G_STATIC_ASSERT, causing gcc 4.8 to yell due to
-Wunused-local-typedefs.

/usr/include/glib-2.0/glib/gmacros.h:162:53: error: typedef ‘_GStaticAssertCompileTimeAssertion_2’ locally defined but not used [-Werror=unused-local-typedefs]
 #define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1]

Most of the uses of atomic operations were wrong. They were fixed as
well. If we are using atomic operations, reading the variable again
later for logging is not an option, we should use the return of the
atomic function used to fetch the variable.

11 years agogdbus: Use gcc builtin instead of g_atomic
Lucas De Marchi [Mon, 8 Apr 2013 20:56:18 +0000 (17:56 -0300)]
gdbus: Use gcc builtin instead of g_atomic

g_atomic_* end up using G_STATIC_ASSERT, causing gcc 4.8 to yell due to
-Wunused-local-typedefs.

gdbus/client.c: In function ‘g_dbus_client_ref’:
/usr/include/glib-2.0/glib/gmacros.h:162:53: error: typedef ‘_GStaticAssertCompileTimeAssertion_2’ locally defined but not used [-Werror=unused-local-typedefs]
 #define G_STATIC_ASSERT(expr) typedef char G_PASTE (_GStaticAssertCompileTimeAssertion_, __COUNTER__)[(expr) ? 1 : -1]

11 years agogitignore: Ignore file generated by Automake 1.13
Lucas De Marchi [Mon, 8 Apr 2013 20:56:17 +0000 (17:56 -0300)]
gitignore: Ignore file generated by Automake 1.13

Automake >= 1.13 enables parallel-tests option which uses a test-driver
script (copied by automake). Ignore this file.

11 years agogatttool: Remove check for bluetooth address parameter on gatt_connect()
Eder Ruiz Maria [Tue, 2 Apr 2013 23:31:20 +0000 (19:31 -0400)]
gatttool: Remove check for bluetooth address parameter on gatt_connect()

This check is more appropriate to be done by callers of gatt_connect().
This is already done on interactive mode in attrib/interactive.c and is
now also done in non-interactive mode.

11 years agogatttool: Remote address is mandatory for non-interactive gatttool
Eder Ruiz Maria [Tue, 2 Apr 2013 23:31:19 +0000 (19:31 -0400)]
gatttool: Remote address is mandatory for non-interactive gatttool

For gatttool non-interactive mode, command line parameter with
bluetooth remote address is mandatory.

11 years agogatttool: Fix memory leak after parsing input line
Jefferson Delfes [Tue, 2 Apr 2013 23:31:18 +0000 (19:31 -0400)]
gatttool: Fix memory leak after parsing input line

The callback is responsible for freeing input line buffer that comes
from rl_callback_handler_install().

11 years agotools/hciattach: Fix TI firmware path
Yegor Yefremov [Wed, 27 Mar 2013 14:49:09 +0000 (15:49 +0100)]
tools/hciattach: Fix TI firmware path

Change firmware path to /lib/firmware/ti-connectivity/ to be
conform with linux-firmware folder structure. All wl1xxx firmware
resides in ti-connectivity. See linux-firmware repository
https://git.kernel.org/cgit/linux/kernel/git/firmware/linux-firmware.git/
for reference.

11 years agoaudio: Track connections to AVRCP roles separately
Luiz Augusto von Dentz [Mon, 18 Mar 2013 13:03:26 +0000 (10:03 -0300)]
audio: Track connections to AVRCP roles separately

Currently the code assumes when one role connects the other must be
connected as well which is bogus and can create problems.

11 years agolib: Fix invalid memory access in sdp_service_search_attr_req
Arkadiusz Lichwa [Thu, 4 Apr 2013 14:09:33 +0000 (16:09 +0200)]
lib: Fix invalid memory access in sdp_service_search_attr_req

Browsing services using sdptool can lead to writing to invalid heap
locations.

valgrind's output of exemplary call: sdptool browse local

==2203== HEAP SUMMARY:
==2203==     in use at exit: 0 bytes in 0 blocks
==2203==   total heap usage: 251 allocs, 251 frees, 140,156 bytes allocated
==2203==
==2203== All heap blocks were freed -- no leaks are possible
==2203==
==2203== ERROR SUMMARY: 6 errors from 2 contexts (suppressed: 0 from 0)
==2203==
==2203== 1 errors in context 1 of 2:
==2203== Invalid write of size 2
==2203==    at 0x805B882: bt_put_be16 (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8062BD0: sdp_service_search_attr_req (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8052457: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x80525AE: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x805277F: cmd_browse (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8053199: main (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==  Address 0x4391359 is 7 bytes before a block of size 2,048 alloc'd
==2203==    at 0x402B6A8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2203==    by 0x8062B4B: sdp_service_search_attr_req (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8052457: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x80525AE: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x805277F: cmd_browse (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8053199: main (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==
==2203==
==2203== 5 errors in context 2 of 2:
==2203== Invalid write of size 1
==2203==    at 0x402D363: memcpy (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2203==    by 0x80613E7: gen_dataseq_pdu (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8061472: gen_attridseq_pdu (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8062C00: sdp_service_search_attr_req (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8052457: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x80525AE: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x805277F: cmd_browse (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8053199: main (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==  Address 0x439135b is 5 bytes before a block of size 2,048 alloc'd
==2203==    at 0x402B6A8: malloc (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
==2203==    by 0x8062B4B: sdp_service_search_attr_req (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8052457: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x80525AE: do_search (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x805277F: cmd_browse (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==    by 0x8053199: main (in /home/xpu/gits/bluez.bin/bin/sdptool)
==2203==
==2203== ERROR SUMMARY: 6 errors from 2 contexts (suppressed: 0 from 0)

11 years agoattrib: Fix status on memory allocation failure
Anderson Lizardo [Tue, 2 Apr 2013 15:07:45 +0000 (11:07 -0400)]
attrib: Fix status on memory allocation failure

If memory allocation fails, ATT_ECODE_INSUFF_RESOURCES should be
reported to the callback.

11 years agoattrib: Fix coding style in read_char_helper()
Anderson Lizardo [Tue, 2 Apr 2013 15:07:44 +0000 (11:07 -0400)]
attrib: Fix coding style in read_char_helper()

11 years agoattrib: Fix memory leak on low memory condition
Anderson Lizardo [Tue, 2 Apr 2013 15:07:43 +0000 (11:07 -0400)]
attrib: Fix memory leak on low memory condition

If g_try_new0() fails due to low memory condition, "list" should be
freed before returning from primary_all_cb().

11 years agoAVCTP: Add mapping for mandatory pass-through operations
Luiz Augusto von Dentz [Wed, 3 Apr 2013 15:05:05 +0000 (12:05 -0300)]
AVCTP: Add mapping for mandatory pass-through operations

This add mapping for mandatory pass-through operations for categories
supported and a few other operations considered useful.

11 years agotools/mgmt-tester: Refine stop discovery test case
Alvaro Silva [Tue, 2 Apr 2013 23:35:00 +0000 (19:35 -0400)]
tools/mgmt-tester: Refine stop discovery test case

Add HCI test and discovering event test for stop discovery.

11 years agotools/mgmt-tester: Refine start discovery test case
Alvaro Silva [Tue, 2 Apr 2013 23:34:59 +0000 (19:34 -0400)]
tools/mgmt-tester: Refine start discovery test case

Add HCI command test and discovering event test for start discovery.

11 years agoattrib: Fix use after free of attrib
Jaganath Kanakkassery [Mon, 1 Apr 2013 09:38:01 +0000 (15:08 +0530)]
attrib: Fix use after free of attrib

If attrib is freed in cmd->func(), then it will be used if either
request or response queue has some data to send.

This patch moves calling wake_up_sender() which increases the ref
count of attrib so that it wont get freed in cmd->func().

11 years agoattrib: Remove norequests and noresponses variables
Jaganath Kanakkassery [Mon, 1 Apr 2013 09:38:00 +0000 (15:08 +0530)]
attrib: Remove norequests and noresponses variables

Passing NULL is fine to g_queue_is_empty(), so removing these
variables makes the code more readable

11 years agocore: Fix a double free on adapter_stop
Alex Deymo [Mon, 1 Apr 2013 18:14:04 +0000 (11:14 -0700)]
core: Fix a double free on adapter_stop

The discovery_list list has the list of current discovery clients and is
removed on adapter_stop (for example due a "power off" command). The
g_slist_free_full will call discovery_free on every element of the list
and remove the nodes of the list, but discovery_destroy (called by
discovery_free) will not only free the element, but also remove it from
the list. This causes the list node to be freed twice, once by
g_slist_free_full and once by g_slist_remove.

This fix calls successively discovery_destroy and lets it remove the
list's elements one by one.

11 years agocore: Memory leak on device_free for eir_uuids field.
Alex Deymo [Fri, 29 Mar 2013 21:19:43 +0000 (14:19 -0700)]
core: Memory leak on device_free for eir_uuids field.

The eir_uuids list is usually freed by device_svc_resolved, but that
doesn't happen if the device is removed before a SDP browse ends.
This fix deletes the eir_uuids list on device_free.

11 years agosdptool: Fix mem leak in do_search
Arkadiusz Lichwa [Tue, 26 Mar 2013 11:31:08 +0000 (12:31 +0100)]
sdptool: Fix mem leak in do_search

11 years agogatttool: fix parameter type/name from le to psm
Jefferson Delfes [Mon, 4 Mar 2013 20:42:55 +0000 (16:42 -0400)]
gatttool: fix parameter type/name from le to psm

The parameter le was changed to psm and its type was modified from
boolean to int, but header was unmodified. That change occurred in commit
0cc24599637ed6666469c68d55f4e42ff722e447.

11 years agoclient: Agent's RequestPasskey implementation
Alex Deymo [Thu, 21 Mar 2013 22:04:56 +0000 (15:04 -0700)]
client: Agent's RequestPasskey implementation

Implements the uint32 RequestPasskey(object device) method.

11 years agoclient: Agent's DisplayPasskey implementation
Alex Deymo [Thu, 21 Mar 2013 22:04:55 +0000 (15:04 -0700)]
client: Agent's DisplayPasskey implementation

Implements the DisplayPasskey(object device, uint32 passkey, uint16 entered)
method.

11 years agoclient: Agent's DisplayPincode implementation
Alex Deymo [Thu, 21 Mar 2013 22:04:54 +0000 (15:04 -0700)]
client: Agent's DisplayPincode implementation

Implements the DisplayPinCode(object device, string pincode) method.

11 years agoclient: "agent" command capability argument and autocompletion
Alex Deymo [Thu, 21 Mar 2013 22:04:53 +0000 (15:04 -0700)]
client: "agent" command capability argument and autocompletion

This patch enables argument autocompletion for the agent command with
the list of capabilities an agent can have, adding also "on" (for the
default "") and "off". The command passes the argument (parsing and
verifying it) to the dbus method call.

11 years agoclient: Right prompt management on agent input
Alex Deymo [Thu, 21 Mar 2013 22:04:52 +0000 (15:04 -0700)]
client: Right prompt management on agent input

Registering an agent shares the user input interface with the normal console
command interface. The way it is implemented (using rl_message, rl_save_prompt
and rl_restore_prompt) conflicts with the rl_printf calls that may appear
while waiting for user input, loosing the [bluetooth]# prompt.
This patch fixes this and makes clear if the expected input is a command or an
agent reply changing the color and text of the prompt.

11 years agoclient: Add color modifiers to NEW, CHG and DEL events.
Alex Deymo [Thu, 21 Mar 2013 22:04:51 +0000 (15:04 -0700)]
client: Add color modifiers to NEW, CHG and DEL events.

Events like [NEW], [CHG] and [DEL] can appear in the command console at
any time, even when the user is typing a command. The last line is kept
making the event line appear just before it, something that can be
unnoticed. This patch add meaningful colors for those three event to make
it easier to see them.

11 years agosdptool: Fix recursive search
David Herrmann [Mon, 18 Mar 2013 17:41:02 +0000 (18:41 +0100)]
sdptool: Fix recursive search

When doing recursive SDP searches, we must not overwrite our own values
after we retrieved them from SDP. Otherwise, the UUID test will always we
false.

11 years agolib: Update list of company identifiers
Marcel Holtmann [Thu, 21 Mar 2013 18:48:13 +0000 (11:48 -0700)]
lib: Update list of company identifiers

11 years agocore: Fix wrong argument on agent *_cb functions.
Alex Deymo [Thu, 21 Mar 2013 07:04:41 +0000 (00:04 -0700)]
core: Fix wrong argument on agent *_cb functions.

The last argument for the functions pincode_cb, passkey_cb and
confirm_cb is a user data pointer with the "void *". Those functions
expect a "struct authentication_req *", but insted a "struct
btd_device*" without any complaint from the compiler due the void* cast.
This fix passes the right argument to those functions.

Other uses of those functions as callbacks (agent_request_passkey,
agent_request_pincode, agent_request_authorization and
agent_request_confirmation) pass the right struct authentication_req *.

11 years agoAVRCP: Fallback to GetElementAttributes if GetItemAttributes fails
Luiz Augusto von Dentz [Mon, 18 Mar 2013 13:14:40 +0000 (10:14 -0300)]
AVRCP: Fallback to GetElementAttributes if GetItemAttributes fails

If GetItemAttributes fails with error set to player not browsable
fallback to GetElementAttributes.

11 years agoAVRCP: Reduce number of request to refresh the player list
Luiz Augusto von Dentz [Mon, 18 Mar 2013 13:14:39 +0000 (10:14 -0300)]
AVRCP: Reduce number of request to refresh the player list

In case the addressed player changes but it features is already known
the list of players don't need to be refreshed.

11 years agoplayer: Check if values really changed before emitting signals
Luiz Augusto von Dentz [Mon, 18 Mar 2013 13:14:38 +0000 (10:14 -0300)]
player: Check if values really changed before emitting signals

11 years agoAVRCP: Add support for available player changed event for CT role
Luiz Augusto von Dentz [Mon, 18 Mar 2013 13:14:37 +0000 (10:14 -0300)]
AVRCP: Add support for available player changed event for CT role

This adds support for registering to available player changed event if
supported by TG.

11 years agotools: Add basic invalid parameters test for stop discovery
Bruna Moreira [Mon, 18 Mar 2013 20:53:06 +0000 (16:53 -0400)]
tools: Add basic invalid parameters test for stop discovery

11 years agotools: Add basic rejected test for stop discovery
Bruna Moreira [Mon, 18 Mar 2013 20:53:05 +0000 (16:53 -0400)]
tools: Add basic rejected test for stop discovery

11 years agotools: Add basic success test for stop discovery
Bruna Moreira [Mon, 18 Mar 2013 20:53:04 +0000 (16:53 -0400)]
tools: Add basic success test for stop discovery

11 years agotools: Add basic success test for start discovery
Bruna Moreira [Mon, 18 Mar 2013 20:53:03 +0000 (16:53 -0400)]
tools: Add basic success test for start discovery

11 years agotextfile: Fix a pointer arithmetic logic bug in read_key()
Alex Deymo [Fri, 15 Mar 2013 21:29:19 +0000 (16:29 -0500)]
textfile: Fix a pointer arithmetic logic bug in read_key()

A substraction of pointers ends up in a wrong computation of the size
passed to strnpbrk() in read_key(). This patch fixes the pointer logic.

11 years agotextfile: find_key parsing nit
Alex Deymo [Fri, 15 Mar 2013 21:27:20 +0000 (16:27 -0500)]
textfile: find_key parsing nit

The find_key function should return a pointer to the begining of the
line in the config file (map) that has the given keyword. This patch
fixes a wrong logic when the another keyword has the given keyword as a
prefix and appears in the first line of the file.

11 years agotools: Reduce verbosity of mpris-player
Luiz Augusto von Dentz [Fri, 8 Mar 2013 11:56:18 +0000 (13:56 +0200)]
tools: Reduce verbosity of mpris-player

11 years agotools: Fix not using player name in the Identity property
Luiz Augusto von Dentz [Fri, 8 Mar 2013 11:37:20 +0000 (13:37 +0200)]
tools: Fix not using player name in the Identity property

This fixes the format of player Identity property, also use Name property
when available.

11 years agoprofile: Limit to one remote UUID per profile
Mikel Astiz [Fri, 1 Mar 2013 13:59:13 +0000 (14:59 +0100)]
profile: Limit to one remote UUID per profile

The code can be considerably simplified by constraining struct
btd_profile to one single remote UUID.

11 years agohealth: Split health into two btd_profile
Mikel Astiz [Fri, 1 Mar 2013 13:59:12 +0000 (14:59 +0100)]
health: Split health into two btd_profile

Register a separate btd_profile for each health device role.

11 years agogatt: List only GATT_UUID as remote UUID
Mikel Astiz [Fri, 1 Mar 2013 13:59:11 +0000 (14:59 +0100)]
gatt: List only GATT_UUID as remote UUID

The probe function checks if both UUIDs are present, so there is no
need to list both in btd_profile.

11 years agoproximity: Split monitor into three btd_profile
Mikel Astiz [Fri, 1 Mar 2013 13:59:10 +0000 (14:59 +0100)]
proximity: Split monitor into three btd_profile

Split into three btd_profile such that each of them handles one single
UUID.

11 years agoproximity: Split internal monitor registration API
Mikel Astiz [Fri, 1 Mar 2013 13:59:09 +0000 (14:59 +0100)]
proximity: Split internal monitor registration API

Split the monitor registration API into three independent registrations
each of them taking one specific GATT primary.

11 years agoaudio: Split AVRCP into two btd_profile
Mikel Astiz [Fri, 1 Mar 2013 13:59:08 +0000 (14:59 +0100)]
audio: Split AVRCP into two btd_profile

Register a separate btd_profile for each role of AVRCP.

11 years agoavrcp: Refactor server registration
Mikel Astiz [Fri, 1 Mar 2013 13:59:07 +0000 (14:59 +0100)]
avrcp: Refactor server registration

Use a helper function to install the AVRCP server, just like other audio
profiles such as in a2dp.c do.

11 years agoemulator: Allow multiple vhci adapter creation with btvirt
Johan Hedberg [Thu, 7 Mar 2013 17:00:09 +0000 (19:00 +0200)]
emulator: Allow multiple vhci adapter creation with btvirt

11 years agoemulator: Fix unique bdaddr creation for multiple vhci_open() calls
Johan Hedberg [Thu, 7 Mar 2013 16:30:59 +0000 (18:30 +0200)]
emulator: Fix unique bdaddr creation for multiple vhci_open() calls

11 years agoAVRCP: Fix not checking for invalid player items
Luiz Augusto von Dentz [Thu, 7 Mar 2013 15:11:59 +0000 (17:11 +0200)]
AVRCP: Fix not checking for invalid player items

This adds checks for invalid size in the media player list returned by
GetFolderItems that could cause crashes.

11 years agoAVRCP: Fix not checking for invalid player name length
Luiz Augusto von Dentz [Thu, 7 Mar 2013 15:11:58 +0000 (17:11 +0200)]
AVRCP: Fix not checking for invalid player name length

This adds checks for invalid player name length that could cause crashes
while reading invalid memory.

11 years agoAVRCP: Fix not checking for invalid folder length
Luiz Augusto von Dentz [Thu, 7 Mar 2013 15:11:57 +0000 (17:11 +0200)]
AVRCP: Fix not checking for invalid folder length

This adds checks for invalid folder length in SetBrowsedPlayer that
could cause crashes while reading invalid memory.

11 years agoAVRCP: Fix not parsing player name properly
Luiz Augusto von Dentz [Thu, 7 Mar 2013 15:11:56 +0000 (17:11 +0200)]
AVRCP: Fix not parsing player name properly

Player name length field is 2 bytes long not 1.

11 years agoAVRCP: Fix reading wrong field as folder depth
Luiz Augusto von Dentz [Thu, 7 Mar 2013 15:11:55 +0000 (17:11 +0200)]
AVRCP: Fix reading wrong field as folder depth

Folder depth is bit 10 of the parameters not the PDU operands