OSDN Git Service
Johan Hedberg [Fri, 25 Jan 2013 08:58:40 +0000 (10:58 +0200)]
neard: Update to new adapter_get_device API
Johan Hedberg [Fri, 25 Jan 2013 08:57:20 +0000 (10:57 +0200)]
core: Use bdaddr_t instead of char * for device creation
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.
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.
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.
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.
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.
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.
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.
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.
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.
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.
Marcel Holtmann [Fri, 25 Jan 2013 00:55:59 +0000 (01:55 +0100)]
unit: Add inquiry data from Gigaset SL400H and SL910 for teseting
Johan Hedberg [Thu, 24 Jan 2013 17:49:09 +0000 (19:49 +0200)]
tools: Add partial UUID-128 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
Johan Hedberg [Thu, 24 Jan 2013 15:44:12 +0000 (17:44 +0200)]
tools: Add partial UUID-16 list 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
Johan Hedberg [Thu, 24 Jan 2013 13:26:27 +0000 (15:26 +0200)]
tools: Add initial UUID-128 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
Johan Hedberg [Thu, 24 Jan 2013 13:02:03 +0000 (15:02 +0200)]
tools: Add more UUIDs to 32-bit mgmt-tester test case
Johan Hedberg [Thu, 24 Jan 2013 12:23:37 +0000 (14:23 +0200)]
tools: Add Multiple 32-bit UUID test case to mgmt-tester
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).
Marcel Holtmann [Wed, 23 Jan 2013 23:24:23 +0000 (15:24 -0800)]
unit: Add advertising data from Wahoo scale for testing
Luiz Augusto von Dentz [Wed, 23 Jan 2013 11:08:32 +0000 (13:08 +0200)]
tools: Fix pbap-client to use new print syntax
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.
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
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
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.
Johan Hedberg [Tue, 22 Jan 2013 13:39:55 +0000 (15:39 +0200)]
monitor: Add support for passkey notify mgmt events
Johan Hedberg [Tue, 22 Jan 2013 12:57:18 +0000 (14:57 +0200)]
core: Fix canceling pairing through mgmt
The mgmt_reply() function should be used instead of mgmt_send() since
otherwise the request obeys the usual command queuing which wont work
due to the pending mgmt_pair_device command.
Johan Hedberg [Tue, 22 Jan 2013 12:50:02 +0000 (14:50 +0200)]
tools: Add mgmt_cancel_pair_device support to btmgmt
Syam Sidhardhan [Mon, 21 Jan 2013 13:33:31 +0000 (19:03 +0530)]
a2dp: Fix invalid memory access during abort_ind()
There is an invalid memory access w.r.t to the callback
during the Abort_Ind finalize_setup_errno().
We should terminate the variable arguments with NULL.
Log:
bluetoothd[3353]: audio/avdtp.c:avdtp_parse_cmd() Received ABORT_CMD
bluetoothd[3353]: audio/a2dp.c:abort_ind() Source 0xb6f5ecc8: Abort_Ind
bluetoothd[3353]: audio/a2dp.c:setup_ref() 0xb6f63200: ref=2
bluetoothd[3353]: audio/transport.c:media_transport_remove() Transport
/org/bluez/3353/hci0/dev_BC_47_60_F5_88_89/fd1 Owner :1.0
bluetoothd[3353]: audio/transport.c:media_transport_release() Transport
/org/bluez/3353/hci0/dev_BC_47_60_F5_88_89/fd1: read lock released
bluetoothd[3353]: audio/transport.c:media_transport_release() Transport
/org/bluez/3353/hci0/dev_BC_47_60_F5_88_89/fd1: write lock released
bluetoothd[3353]: audio/transport.c:media_request_reply() Request
Acquire Reply Input/output error
bluetoothd[3353]: audio/transport.c:media_owner_free() Owner :1.0
bluetoothd[3353]: audio/transport.c:media_owner_remove() Owner :1.0 Request Acquire
bluetoothd[3353]: audio/a2dp.c:a2dp_sep_unlock() SEP 0xb6f5ecc8 unlocked
bluetoothd[3353]: audio/a2dp.c:setup_unref() 0xb6f63200: ref=1
[sys_assert]START of sighandler
[sys-assert]exepath = bluetoothd
[sys-assert]processname = bluetoothd
[sys_assert]this thread is main thread. pid=3353
[sys-assert]cs timestr
1358524835
bluetoothd[3353]: crashed [
1358524835] processname=bluetoothd, pid=3353, tid=3353, signal=11
[sys-assert]start print_node_to_file
sighandler = 0xb6e8cfc9, g_sig_oldact[i] = (nil)
[sys_assert]END of sighandler
Segmentation fault (core dumped)
Syam Sidhardhan [Mon, 21 Jan 2013 13:33:30 +0000 (19:03 +0530)]
a2dp: Fix invalid memory access during suspend_ind()
There is a possible invalid memory access during suspend_ind().
We should terminate the variable arguments with NULL.
Syam Sidhardhan [Mon, 21 Jan 2013 13:33:29 +0000 (19:03 +0530)]
health: Fix possible use after free
A pointer to freed memory is dereferenced if we call function
hdp_get_dcpsm_cb() with out any earlier reference.
Johan Hedberg [Tue, 22 Jan 2013 11:17:14 +0000 (13:17 +0200)]
core: Fix mgmt_get_connections response size checking
Each address entry is of the size mgmt_addr_info and not bdaddr_t.
Marcel Holtmann [Tue, 22 Jan 2013 10:09:16 +0000 (02:09 -0800)]
monitor: Use explicit filter policy strings for LE create connection
Marcel Holtmann [Tue, 22 Jan 2013 09:51:02 +0000 (01:51 -0800)]
monitor: Decode LE filter policy for all cases
Szymon Janc [Mon, 21 Jan 2013 15:17:47 +0000 (16:17 +0100)]
monitor: Fix possible crash on unknown command
If unknown command is received monitor would crash due to dereference
of NULL opcode_data pointer.
Alexandros Antonopoulos [Mon, 21 Jan 2013 13:44:25 +0000 (14:44 +0100)]
core: Fix crash when an invalid uuid is passed to Device1.DisconnectProfile
If the user calls Device1.DisconnectProfile with an invalid profile
uuid disconnect_profile still tries to parse the uuid resulting in
a SIGSEGV
Alexandros Antonopoulos [Mon, 21 Jan 2013 13:44:28 +0000 (14:44 +0100)]
avctp: Fix size of read() for browsing channel callbacks
The read() function should attempt to read browsing->imtu bytes
and not sizeof(browsing->imtu).
Alexandros Antonopoulos [Mon, 21 Jan 2013 13:44:27 +0000 (14:44 +0100)]
avctp: Fix request timeout after a channel is destroyed
When the control channel is destroyed if there is a pending request
(chan->p) then the channel queue is deleted in avctp_channel_destroy
but the timer is still alive resulting in a SIGSEGV
Alexandros Antonopoulos [Mon, 21 Jan 2013 13:44:26 +0000 (14:44 +0100)]
avctp: Fix avctp_unregister_browsing_pdu_handler inner loop
Inner loop should access the sessions data and not the servers
data
Luiz Augusto von Dentz [Mon, 21 Jan 2013 12:03:49 +0000 (14:03 +0200)]
player: Fix not returning current position properly
Current position should be returned for Get/GetAll not last position
notified otherwise clients that are started after playback are
not able to synchronize its position properly as it does no know how
for how long the playback has advanced.
Marcel Holtmann [Mon, 21 Jan 2013 04:12:07 +0000 (20:12 -0800)]
shared: Remove also queued requests and replies for index cancel
Marcel Holtmann [Mon, 21 Jan 2013 03:10:23 +0000 (19:10 -0800)]
shared: Fix issue with management destroy handling
Marcel Holtmann [Mon, 21 Jan 2013 02:54:33 +0000 (18:54 -0800)]
core: Remove pointless GFunc casts from device handling
Marcel Holtmann [Mon, 21 Jan 2013 02:45:03 +0000 (18:45 -0800)]
shared: Mark and skip notification callbacks when become invalid
Marcel Holtmann [Mon, 21 Jan 2013 02:35:45 +0000 (18:35 -0800)]
shared: Remove all pending requests for the specified index
Marcel Holtmann [Mon, 21 Jan 2013 02:25:12 +0000 (18:25 -0800)]
gdbus: Check for valid path before handling properties
Marcel Holtmann [Mon, 21 Jan 2013 00:14:32 +0000 (16:14 -0800)]
core: Don't take device reference for connection requests
The device reference is not needed since the adapter handling actually
owns the device object anyway. So do not bother taking another reference.
In addition actually remove the devices from the list when the adapter
is removed. Otherwise they stay around and just causes problems.
Marcel Holtmann [Mon, 21 Jan 2013 00:13:31 +0000 (16:13 -0800)]
core: Keep the DBusConnection around for device handling
It is required to have the connection around so device objects can
be deregistered. This happens triggered from the adapter handling.
Marcel Holtmann [Mon, 21 Jan 2013 00:13:05 +0000 (16:13 -0800)]
core: Use same reference counting as adapter handling
Marcel Holtmann [Sun, 20 Jan 2013 23:31:17 +0000 (15:31 -0800)]
core: Remove pointless protection for device path at unregister
If such a protection is really needed, then it might should be better
handled properly within GDBus. So remove it and if it causes an issue,
fix it then.
Marcel Holtmann [Sun, 20 Jan 2013 23:29:50 +0000 (15:29 -0800)]
core: Use a global DBusConnection variable
Marcel Holtmann [Sun, 20 Jan 2013 23:21:08 +0000 (15:21 -0800)]
core: Add device init and cleanup functions
Marcel Holtmann [Sun, 20 Jan 2013 23:15:29 +0000 (15:15 -0800)]
core: Add some extra debugs for device creation
Marcel Holtmann [Sun, 20 Jan 2013 23:15:14 +0000 (15:15 -0800)]
core: Make the default UUID search list const
Marcel Holtmann [Sun, 20 Jan 2013 18:09:31 +0000 (10:09 -0800)]
monitor: Add support for decoding LE white list commands
Marcel Holtmann [Sun, 20 Jan 2013 17:52:06 +0000 (09:52 -0800)]
monitor: Add support for decoding LE features
Marcel Holtmann [Sun, 20 Jan 2013 17:43:15 +0000 (09:43 -0800)]
monitor: Add support for decoding LE event mask
Marcel Holtmann [Sun, 20 Jan 2013 17:35:49 +0000 (09:35 -0800)]
monitor: Add support for decoding LE supported states
Marcel Holtmann [Sun, 20 Jan 2013 09:02:31 +0000 (01:02 -0800)]
core: Provide skeleton for LE connection trigger
Marcel Holtmann [Sun, 20 Jan 2013 09:01:27 +0000 (01:01 -0800)]
core: Handle invalidated RSSI signals a bit better
Marcel Holtmann [Sun, 20 Jan 2013 08:33:03 +0000 (00:33 -0800)]
core: Avoid massive signals for changes below 8 dBm
Instead of blasting clients with RSSI changed signals, slow this down
a little bit and only report changes of 8 dBm and more.
Marcel Holtmann [Sun, 20 Jan 2013 07:56:41 +0000 (23:56 -0800)]
core: Allow passive scanning to update existing devices
During the passive scan, do not create new devices or update temporary
ones. However update of existing paired devices is desired.
Marcel Holtmann [Sun, 20 Jan 2013 07:48:59 +0000 (23:48 -0800)]
core: Check for LE controller before cancelling passive scanning
Marcel Holtmann [Sun, 20 Jan 2013 07:42:28 +0000 (23:42 -0800)]
core: Avoid pointless casting of GCompareFunc for compare functions
Marcel Holtmann [Sun, 20 Jan 2013 07:18:45 +0000 (23:18 -0800)]
core: Use delay between passive scanning iterations
Keeping the conroller active for passive scanning with the current
kernel interface seems inefficient since it automatically disables
the discovery procedure. So instead of restarting it right away,
introduce a small delay to give the controller more chances to sleep.
Marcel Holtmann [Sun, 20 Jan 2013 04:58:01 +0000 (20:58 -0800)]
core: Add support for triggering passive scanning
This is the first step for passive scanning support. Create triggers
at various location to allow entering passive scanning.
Marcel Holtmann [Sun, 20 Jan 2013 03:13:49 +0000 (19:13 -0800)]
core: Handle existing start discovery gracefully
In case a discovery already exists, keep using it if is has the same
type and only if not, stop it and start a new one.
Marcel Holtmann [Sun, 20 Jan 2013 02:41:08 +0000 (18:41 -0800)]
core: Simplify discovery start and stop handling
To make the discovery start, stop and restart logic even simple, just
trigger start of discovery when client gets registered. It is almost
impossible to handle all corner cases, so just trigger another restart
of the discovery with a larger timeout in case of an error.
Marcel Holtmann [Sat, 19 Jan 2013 23:47:18 +0000 (15:47 -0800)]
core: Fix multiple issues with discovery handling
This patch is the first attempt in fixing the discovery issues for
dual-mode BR/EDR + LE controllers. It creates a clean chain for
start/stop discovery client handling and also for the internal
handling of suspend, resume and restart.
However this patch removes the LE connection handling. And that needs
to be put back with a separate patch.
Szymon Janc [Fri, 18 Jan 2013 19:28:12 +0000 (20:28 +0100)]
tools: Use proper test data in mgmt_unblock_device test
Copy and paste error. Although both data values are same use proper
one for clarity.
Marcel Holtmann [Sat, 19 Jan 2013 05:00:38 +0000 (21:00 -0800)]
core: Use discovery found list instead of nested struct
Marcel Holtmann [Sat, 19 Jan 2013 04:49:58 +0000 (20:49 -0800)]
core: Remove pending_mode session variable
Marcel Holtmann [Sat, 19 Jan 2013 01:36:33 +0000 (17:36 -0800)]
core: Remove unneeded session reference counting
Marcel Holtmann [Sat, 19 Jan 2013 01:31:07 +0000 (17:31 -0800)]
core: Remove session_req_type variable and parameter
Marcel Holtmann [Sat, 19 Jan 2013 01:27:58 +0000 (17:27 -0800)]
core: Rename a few functions and parameters
Marcel Holtmann [Sat, 19 Jan 2013 01:21:57 +0000 (17:21 -0800)]
core: Remove unused got_reply session variable
Luiz Augusto von Dentz [Thu, 17 Jan 2013 12:39:44 +0000 (14:39 +0200)]
AVRCP: Fix rejecting RegisterNotification if no transport exists
If no transport exists set the volume as 0, the real volume will be set
when a transport becomes available.
Szymon Janc [Fri, 18 Jan 2013 11:51:35 +0000 (12:51 +0100)]
core: Add workaround for device pairing kernel bug
Some kernels reply to device pairing command with bogus command status
instead of command complete event if adapter was not powered.
Command status event doesn't provide remote device address and type
needed to properly complete bonding request.
Pass possibly missing data as user_data to mgmt_send and use it in
pair_device_complete function if needed.
Johan Hedberg [Fri, 18 Jan 2013 13:15:34 +0000 (15:15 +0200)]
tools: Add basic invalid params test case for mgmt_unblock_device
Johan Hedberg [Fri, 18 Jan 2013 13:14:31 +0000 (15:14 +0200)]
tools: Add basic invalid params test case for mgmt_block_device
Johan Hedberg [Fri, 18 Jan 2013 13:01:48 +0000 (15:01 +0200)]
tools: Add basic mgmt_disconnect invalid params test case
Johan Hedberg [Fri, 18 Jan 2013 12:56:16 +0000 (14:56 +0200)]
tools: Add basic mgmt_unpair_device test cases
Johan Hedberg [Fri, 18 Jan 2013 12:32:21 +0000 (14:32 +0200)]
tools: Add mgmt_pair_device test with invalid address type
Szymon Janc [Fri, 18 Jan 2013 12:20:41 +0000 (14:20 +0200)]
tools: Add mgmt test case for pair device while powered off
This tests if kernel is responding with proper command complete event.
Johan Hedberg [Fri, 18 Jan 2013 12:14:13 +0000 (14:14 +0200)]
tools: Add another invalid params mgmt_load_long_term_keys test
Johan Hedberg [Fri, 18 Jan 2013 12:05:41 +0000 (14:05 +0200)]
tools: Add more mgmt_load_ltks invalid params tests
Christian Fetzer [Tue, 15 Jan 2013 13:56:44 +0000 (14:56 +0100)]
obexd: Add parameter Status to GetMessageListing response
The parameter Status indicates the status of reception of the message.
It can be used to differentiate between messages with a reception status
of "completed", "fractioned" and "notification".
This parameter got lost when obexd was refactored to use of D-Bus properties.
The documentation and the parsing code for it was still there.
Christian Fetzer [Tue, 15 Jan 2013 13:56:43 +0000 (14:56 +0100)]
obexd: Add parameter AttachmentSize to GetMessageListing response
The parameter AttachmentSize indicates if the message contains
any attachment and their overall size (in bytes).
Christian Fetzer [Tue, 15 Jan 2013 13:56:42 +0000 (14:56 +0100)]
obexd: Add parameter Text to GetMessageListing response
The Text flag indicates if the message contains any textual content
or has binary content only.
Christian Fetzer [Tue, 15 Jan 2013 13:56:41 +0000 (14:56 +0100)]
obexd: Move parse_size function in map.c
This reorders msg_parsers and moves the function parse_size
to match the order in the MAP specification.
Christian Fetzer [Tue, 15 Jan 2013 13:56:40 +0000 (14:56 +0100)]
obexd: Add parameter SubjectLength to map_list_messages
This parameter allows the client to request a maximum length of the
parameter "subject" in the messages listing.
Luiz Augusto von Dentz [Fri, 11 Jan 2013 10:23:29 +0000 (12:23 +0200)]
unit: Add gdbus/client_get_uint64_property
Luiz Augusto von Dentz [Thu, 10 Jan 2013 13:09:23 +0000 (15:09 +0200)]
unit: Add gdbus/client_get_array_property
Luiz Augusto von Dentz [Thu, 10 Jan 2013 12:51:52 +0000 (14:51 +0200)]
unit: Add gdbus/client_get_boolean_property
Luiz Augusto von Dentz [Thu, 10 Jan 2013 10:36:04 +0000 (12:36 +0200)]
unit: Add gdbus/client_get_string_property
Luiz Augusto von Dentz [Thu, 10 Jan 2013 09:28:16 +0000 (11:28 +0200)]
unit: Add gdbus/client_get_dict_property
Johan Hedberg [Fri, 18 Jan 2013 11:15:53 +0000 (13:15 +0200)]
tools: Add basic failure test case for mgmt_load_long_term_keys