OSDN Git Service
Mikel Astiz [Thu, 25 Apr 2013 07:33:55 +0000 (09:33 +0200)]
doc: Fix optional properties not marked as such
Commit
826023de56896e83f35ae69a73d6a120a2f5b11e made some of the
device's properties optional but the documentation was not updated
accordingly. More specifically, the properties 'Name' and 'UUIDs' won't
be present if the information is not available.
Vinicius Costa Gomes [Wed, 17 Apr 2013 15:03:42 +0000 (12:03 -0300)]
monitor: Add an option to dump SCO traffic
Jefferson Delfes [Wed, 17 Apr 2013 14:03:08 +0000 (10:03 -0400)]
attrib: Change match_event return type from gboolean
There is no reason to use gboolean as return type of match_event.
Jefferson Delfes [Wed, 17 Apr 2013 14:03:07 +0000 (10:03 -0400)]
attrib: Change is_response return type from gboolean
There is no reason to use gboolean as return type of is_response.
Jefferson Delfes [Wed, 17 Apr 2013 14:03:06 +0000 (10:03 -0400)]
attrib: Change command->sent type from gboolean
There is no reason to command->sent be gboolean.
Jefferson Delfes [Wed, 17 Apr 2013 14:03:05 +0000 (10:03 -0400)]
attrib: Change GAttrib->stale type from gboolean
There is no reason to GAttrib->stale be gboolean.
Jefferson Delfes [Wed, 17 Apr 2013 14:03:04 +0000 (10:03 -0400)]
attrib: Simplify boolean tests
Remove unnecessary TRUE/FALSE in boolean tests.
Johan Hedberg [Wed, 24 Apr 2013 09:58:21 +0000 (12:58 +0300)]
tools/mgmt-tester: Fix expect_len assignment to use right variable
Johan Hedberg [Wed, 24 Apr 2013 09:57:34 +0000 (12:57 +0300)]
tools/mgmt-tester: Add valid test case for LE-only discovery
Johan Hedberg [Wed, 24 Apr 2013 09:48:30 +0000 (12:48 +0300)]
tools/mgmt-tester: Update LE-only test case pre-conditions
Starting with Linux 3.10 single mode controllers will always have the LE
setting bit enabled in the current_settings mask.
Luiz Augusto von Dentz [Mon, 22 Apr 2013 16:26:02 +0000 (19:26 +0300)]
tools: Fix avrcp_media_element_item_dump to print elements properly
Johan Hedberg [Tue, 23 Apr 2013 17:26:18 +0000 (20:26 +0300)]
core: Delay Paired property until SDP completes
To make it easier for clients to know when SDP has completed, and to
make the property consistent with the timing of the Device1.Pair()
method return it makes sense to delay the "Paired" property change until
SDP has completed.
Alex Deymo [Tue, 16 Apr 2013 21:58:41 +0000 (14:58 -0700)]
input: Automatically attempt a reconnect when required.
The HID 1.1 spec requires a host to attempt a reconnection when a
HID device goes out of range and comes back. There is test (see
TP/HCE/BV-04-I [Host Initiated Re-connection]) to ensure that the
host initiates the connection when that happens.
This patch adds a reconnection timer for HID devices trying to
reconnect every 30s for a maximum of 3 minutes after the connection
to a HID device with a ReconnectMode of "host" or "any" is closed.
Alex Deymo [Tue, 16 Apr 2013 21:58:40 +0000 (14:58 -0700)]
input: Fix memory leak for hidp_connadd_req.
If the struct input_device is destroyed while a hidp_connad_req
is pending, the input_device will be destroyed leaking the associated
memory.
==30790== 492 (168 direct, 324 indirect) bytes in 1 blocks are definitely lost in loss record 199 of 216
==30790== at 0x4C29DB4: calloc (in /usr/lib/valgrind/vgpreload_memcheck-amd64-linux.so)
==30790== by 0x4E7FAE0: g_malloc0 (gmem.c:189)
==30790== by 0x4378E4: hidp_add_connection (device.c:365)
==30790== by 0x438055: input_device_connected (device.c:525)
==30790== by 0x4380DA: interrupt_connect_cb (device.c:548)
==30790== by 0x443508: connect_cb (btio.c:230)
==30790== by 0x4E79D52: g_main_context_dispatch (gmain.c:2539)
==30790== by 0x4E7A09F: g_main_context_iterate.isra.23 (gmain.c:3146)
==30790== by 0x4E7A499: g_main_loop_run (gmain.c:3340)
==30790== by 0x448CCC: main (main.c:583)
Alex Deymo [Tue, 16 Apr 2013 21:58:39 +0000 (14:58 -0700)]
input: Convert gboolean to bool
Remove some usage of gboolean in favor of bool.
Alex Deymo [Tue, 16 Apr 2013 21:58:38 +0000 (14:58 -0700)]
input: Implement the new ReconnectMode Input1 property.
The "Connectability" of a HID device, as defined by the HID spec,
governs the way the host may and should connect to a HID device or
expect a connection from it. In the comon case of mice and keyboards
the HIDNormallyConnectable is FALSE and HIDReconnectInitiate is TRUE,
since those devices only attempt a connection to the host when they
have some data to transfer. A connection attempt initiated from the
host after the device drops the connection (while still paired) will
result in a Page timeout.
This patch exposes a new property called "ReconnectMode" combining the
those two SDP attributes as shown in the Connectability section of the
HID spec (see section 5.4.2). The property can have one of the following
four values: "None", "Device", "Host", "Any", and is derived from the
SDP cached value on device creation even if the device is off.
Alex Deymo [Tue, 16 Apr 2013 21:58:37 +0000 (14:58 -0700)]
input: Documentation for new Input1 interface
Adds documentation for a new Input1 interface explaining a new
"ReconnectMode" property that exposes the Connectability mode of
a HID device.
Luiz Augusto von Dentz [Fri, 19 Apr 2013 13:33:37 +0000 (16:33 +0300)]
tools: Fix AVRCP parsing of GetFolderItems for folders and items
Length of name is 2 bytes not 1
Johan Hedberg [Fri, 19 Apr 2013 13:51:07 +0000 (16:51 +0300)]
emulator: Remove extended features from LE-only controllers
Johan Hedberg [Fri, 19 Apr 2013 13:50:21 +0000 (16:50 +0300)]
emulator: Move Event Mask Page 2 from BR/EDR to BR/EDR/LE
Johan Hedberg [Fri, 19 Apr 2013 13:13:48 +0000 (16:13 +0300)]
emulator: Add proper supported commands response values
Johan Hedberg [Fri, 19 Apr 2013 13:02:55 +0000 (16:02 +0300)]
emulator: Add missing command support checks
Johan Hedberg [Fri, 19 Apr 2013 11:31:10 +0000 (14:31 +0300)]
emulator: Add basic HCI_Set_Event_Mask_Page_2 support
Johan Hedberg [Thu, 18 Apr 2013 14:54:43 +0000 (17:54 +0300)]
emulator: Add sync train parameter reading support
Johan Hedberg [Thu, 18 Apr 2013 14:54:05 +0000 (17:54 +0300)]
emulator: Fix extended features invalid params response
Johan Hedberg [Thu, 18 Apr 2013 14:21:41 +0000 (17:21 +0300)]
monitor: Fix missing byte order conversions
Johan Hedberg [Thu, 18 Apr 2013 12:26:27 +0000 (15:26 +0300)]
monitor: Add support for decoding read sync train params response
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
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.
Johan Hedberg [Wed, 17 Apr 2013 11:55:58 +0000 (14:55 +0300)]
emulator: Add support for local features page 2
Luiz Augusto von Dentz [Wed, 17 Apr 2013 08:28:58 +0000 (11:28 +0300)]
sdptool: Use macro to calculate array size
Luiz Augusto von Dentz [Wed, 17 Apr 2013 08:17:21 +0000 (11:17 +0300)]
tools: Add MAS profile attributes
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.
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.
Christian Fetzer [Fri, 12 Apr 2013 09:29:05 +0000 (11:29 +0200)]
lib: Add attributes MASInstanceID and SupportedMessageTypes
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.
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.
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.
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.
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.
Eder Ruiz Maria [Tue, 2 Apr 2013 23:31:29 +0000 (19:31 -0400)]
gatttool: Show info message when no primary service is found
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.
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.
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.
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.
Eder Ruiz Maria [Tue, 2 Apr 2013 23:31:24 +0000 (19:31 -0400)]
gatttool: Use bluetoothctl behavior when pressing Enter on empty prompt
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.
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.
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.
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.
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.
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.
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".
Marcel Holtmann [Thu, 11 Apr 2013 05:50:12 +0000 (22:50 -0700)]
Release 5.4
Marcel Holtmann [Thu, 11 Apr 2013 05:24:32 +0000 (22:24 -0700)]
build: Update library version
Marcel Holtmann [Thu, 11 Apr 2013 05:23:49 +0000 (22:23 -0700)]
lib: Update list of company identifiers
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.
Christian Fetzer [Tue, 9 Apr 2013 11:51:36 +0000 (13:51 +0200)]
obexd: Enable MNS server
Christian Fetzer [Tue, 9 Apr 2013 11:51:35 +0000 (13:51 +0200)]
build: Add support for building 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
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.
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]
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.
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.
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.
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]
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.
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.
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.
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().
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.
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.
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)
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.
Anderson Lizardo [Tue, 2 Apr 2013 15:07:44 +0000 (11:07 -0400)]
attrib: Fix coding style in read_char_helper()
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().
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.
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.
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.
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().
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
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.
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.
Arkadiusz Lichwa [Tue, 26 Mar 2013 11:31:08 +0000 (12:31 +0100)]
sdptool: Fix mem leak in do_search
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.
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.
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.
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.
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.
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.
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.
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.
Marcel Holtmann [Thu, 21 Mar 2013 18:48:13 +0000 (11:48 -0700)]
lib: Update list of company identifiers
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 *.
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.
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.
Luiz Augusto von Dentz [Mon, 18 Mar 2013 13:14:38 +0000 (10:14 -0300)]
player: Check if values really changed before emitting signals
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.
Bruna Moreira [Mon, 18 Mar 2013 20:53:06 +0000 (16:53 -0400)]
tools: Add basic invalid parameters 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