OSDN Git Service

android-x86/external-bluetooth-bluez.git
12 years agoReplace SendDTMF by StartDTMF/StopDTMF in maemo6
Dmitriy Paliy [Tue, 27 Sep 2011 10:22:43 +0000 (13:22 +0300)]
Replace SendDTMF by StartDTMF/StopDTMF in maemo6

SendDTMF method call is replaced by StartDTMF/StopDTMF in maemo6 telephony
driver. StartDTMF/StopDTMF places DTMF tone in queue on modem side playing
it minimum required time. When using SendDTMF, modem ignores new tone
until currently playing one is not finished.

Downside of StartDTMF/StopDTMF combination is absence of audio feedback to
hands-free.

12 years agoAVRCP: limit AVRCP packet size to the MTU of AV/C
Lucas De Marchi [Tue, 20 Sep 2011 18:31:34 +0000 (15:31 -0300)]
AVRCP: limit AVRCP packet size to the MTU of AV/C

AVRCP is an extension of AV/C spec which has a limit of 512 bytes. The
only place where it can exceed this value is in the response to
GetElementAttributes command.

Now we simply don't add the attributes that would overflow the available
buffer space.

12 years agoRename fast_connectable function in hciops
Antti Julku [Fri, 17 Jun 2011 09:44:14 +0000 (12:44 +0300)]
Rename fast_connectable function in hciops

Rename fast_connectable function in hciops to set_fast_connectable
to make it consistent with rest of the file and with mgmt interface
counterpart.

12 years agoImplement fast connectable mode for mgmt interface
Antti Julku [Fri, 17 Jun 2011 09:44:13 +0000 (12:44 +0300)]
Implement fast connectable mode for mgmt interface

Management interface implementation for fast connectable mode.

12 years agoFix test-proximity usage info
Claudio Takahasi [Fri, 23 Sep 2011 14:05:15 +0000 (11:05 -0300)]
Fix test-proximity usage info

12 years agoMinor style fix
Frédéric Dalleau [Fri, 23 Sep 2011 12:59:25 +0000 (14:59 +0200)]
Minor style fix

12 years agoRemove unneeded checks in gateway_is_connected
Frédéric Dalleau [Fri, 23 Sep 2011 12:59:24 +0000 (14:59 +0200)]
Remove unneeded checks in gateway_is_connected

12 years agoCheck all states before allowing gw connection
Frédéric Dalleau [Fri, 23 Sep 2011 12:59:23 +0000 (14:59 +0200)]
Check all states before allowing gw connection

12 years agoFix possible crash while removing a device
Luiz Augusto von Dentz [Fri, 23 Sep 2011 12:36:39 +0000 (15:36 +0300)]
Fix possible crash while removing a device

If adapter has more than one sdp session active find_by_bdaddr always
return the first one regardless if the device address match or not
which leads to the following crash:

Invalid read of size 4
   at 0x16CB31: search_cb (in /usr/sbin/bluetoothd)
   by 0x15C0CA: connect_watch (in /usr/sbin/bluetoothd)
   by 0x48CFD37: g_io_unix_dispatch (in /usr/lib/libglib-2.0.so.0.2800.6)
   by 0x488B4A0: g_main_context_dispatch (in /usr/lib/libglib-2.0.so.0.2800.6)
   by 0x488BCD0: g_main_context_iterate.clone.5 (in /usr/lib/libglib-2.0.so.0.2800.6)
   by 0x488C3B8: g_main_loop_run (in /usr/lib/libglib-2.0.so.0.2800.6)
   by 0x152D09: main (in /usr/sbin/bluetoothd)
  Address 0x4c8c600 is 16 bytes inside a block of size 48 free'd
   at 0x48234A9: free (in /usr/lib/valgrind/vgpreload_memcheck-x86-linux.so)
   by 0x48920F0: g_free (in /usr/lib/libglib-2.0.so.0.2800.6)
   by 0x16BDD3: browse_request_free (in /usr/sbin/bluetoothd)
   by 0x16C7A2: browse_request_cancel (in /usr/sbin/bluetoothd)

Reported by Alberto José Rodríguez Rodríguez <ajrodriguez@blulabs.es>

12 years agoAdd device blocking events to mgmt API documentation
Antti Julku [Fri, 23 Sep 2011 08:57:02 +0000 (11:57 +0300)]
Add device blocking events to mgmt API documentation

12 years agoFix Device UUIDs property list being sent empty
Claudio Takahasi [Mon, 19 Sep 2011 13:22:50 +0000 (10:22 -0300)]
Fix Device UUIDs property list being sent empty

When creating a new device, the UUIDs list is updated in the device
probing function. This patch moves the function call which emit the
signal after the device driver probing.

12 years agoFix the attrib server trying to handle responses
Vinicius Costa Gomes [Mon, 19 Sep 2011 13:20:00 +0000 (10:20 -0300)]
Fix the attrib server trying to handle responses

The attribute server should only try to handle ATT requests, responses
and events should be handled by the client.

12 years agoAttrib server integration for outgoing connections
Vinicius Costa Gomes [Mon, 19 Sep 2011 13:19:59 +0000 (10:19 -0300)]
Attrib server integration for outgoing connections

We need support for attaching a client connection to the attribute
server because the server that we are connected may want to do
something similar to a reverse service discovery, and we need to be
able to receive indications and notifications.

12 years agohciattach: fix serial speed setting for wl1271
Yegor Yefremov [Mon, 5 Sep 2011 13:42:12 +0000 (15:42 +0200)]
hciattach: fix serial speed setting for wl1271

override speed setting if firmware script issues serial settings command,
otherwise the value given in the firmware script will be overridden.

Example:

hciattach /dev/ttyO1 texas 115200

will fail, because /dev/ttyO1 will be opened with 115200 b/s, then
the firmware script will set the buadrate to 3000000 b/s, after UART init
hciattach.c will set the baudrate to 115200, so communication is broken.

The only correct way is to set both speeds:

hciattach -s 115200 /dev/ttyO1 texas 3000000

With this patch only initial speed must be specified. The former semantic
will be preserved in case the firmware script doesn't provide serial
settings action.

Tested with wl1271 and firmware TIInit_7.2.31.bts

12 years agoFix reference count issue in incoming connections
Frédéric Dalleau [Tue, 6 Sep 2011 13:55:52 +0000 (15:55 +0200)]
Fix reference count issue in incoming connections

In case of incoming RFCOMM connection, manager calls
gateway_connect_rfcomm which already take reference to GIOChannel, hence
no need to take another one.

12 years agoSet state to "connecting" on connection requested
Frédéric Dalleau [Tue, 6 Sep 2011 13:55:51 +0000 (15:55 +0200)]
Set state to "connecting" on connection requested

Make sure that state changes to disconnected on errors (authorization
refused, disconnect, sdp) This change will become necessary when
integrating the Audio interface which rely on state change to confirm
that connection has started successfully.

12 years agoFix state to "playing" on SCO establishment
Frédéric Dalleau [Tue, 6 Sep 2011 13:55:50 +0000 (15:55 +0200)]
Fix state to "playing" on SCO establishment

12 years agoFix asynchronously run request stream cb
Frédéric Dalleau [Tue, 6 Sep 2011 13:55:49 +0000 (15:55 +0200)]
Fix asynchronously run request stream cb

Cancel pending callback if stream is canceled Asynchronously run
gateway_config_stream cb Remove occurences of sco_start_cb

12 years agoFix disconnect SCO at same time than RFCOMM
Frédéric Dalleau [Tue, 6 Sep 2011 13:55:48 +0000 (15:55 +0200)]
Fix disconnect SCO at same time than RFCOMM

If RFCOMM disconnects, SCO should be disconnected too.

12 years agoFix freeing watches list in maemo6 telephony
Dmitriy Paliy [Wed, 21 Sep 2011 12:49:52 +0000 (15:49 +0300)]
Fix freeing watches list in maemo6 telephony

This fixes regression introduced in 83064481481d23523e5cdd04.
List watches has to be freed instead of list pending.

12 years agoAdd Phone Alert Server skeleton plugin
Bruna Moreira [Wed, 21 Sep 2011 12:46:10 +0000 (08:46 -0400)]
Add Phone Alert Server skeleton plugin

12 years agoAdd GATT Time Server skeleton plugin
Anderson Lizardo [Wed, 21 Sep 2011 12:46:09 +0000 (08:46 -0400)]
Add GATT Time Server skeleton plugin

12 years agoFix characteristic property on GATT example plugin
Anderson Lizardo [Wed, 21 Sep 2011 02:57:05 +0000 (22:57 -0400)]
Fix characteristic property on GATT example plugin

Any GATT characteristics which have a Client Characteristic
Configuration must have "Notify" property set.

12 years agoRefactor value assignments of bt_uuid_t variables
Anderson Lizardo [Wed, 21 Sep 2011 02:49:11 +0000 (22:49 -0400)]
Refactor value assignments of bt_uuid_t variables

Prior to this commit, the assignments were made with memcpy(). This can
be unsafe and less readable, therefore it was replaced with code like:

<dst> = *src;

This also allows more compiler safety checks.

12 years agoFix memory allocation of struct attribute
Anderson Lizardo [Wed, 21 Sep 2011 02:49:10 +0000 (22:49 -0400)]
Fix memory allocation of struct attribute

On commit 6a6da5de107e192f62ce2ecdde96eae985181df0 the struct
attribute "data[0]" member was replaced with a dynamically allocated
"data" pointer. This commit fixes remaining places where the old
allocation scheme was still assumed.

12 years agoRemove empty line before declaration
Anderson Lizardo [Wed, 21 Sep 2011 02:49:09 +0000 (22:49 -0400)]
Remove empty line before declaration

12 years agoFix remove emitting Paired=false when deleting device
Dmitriy Paliy [Tue, 20 Sep 2011 19:09:50 +0000 (22:09 +0300)]
Fix remove emitting Paired=false when deleting device

When adapter is requested to remove device, device's property
Paired=false is emitted after the adapter notifies clients that
list Devices is empty. Some clients get confused.

Emitting property was introduced in clean-up patch
c92a4af85f480c16f3ff017783c821304c899ce5. Since such notification
does not have practical meaning, it is better to remove it.

12 years agoUse medium security level when reconnecting
Claudio Takahasi [Tue, 20 Sep 2011 14:18:49 +0000 (11:18 -0300)]
Use medium security level when reconnecting

For GATT based profiles encryption is mandatory. Proximity Monitor
shall support LE Security Mode 1 and Security Level 2. Over basic rate,
switch the security level to medium for testing purpose only.

12 years agoFix invalid free when stopping adapter
Claudio Takahasi [Tue, 20 Sep 2011 14:11:20 +0000 (11:11 -0300)]
Fix invalid free when stopping adapter

This patch fix an "invalid free" error when the adapter is powered off
with an active discovery session. Error happens because session_remove
function removes the elements from the list also. Partial valgrind log:
Address 0x6012a00 is 0 bytes inside a block of size 16 free'd
  at 0x4C27DCC: free (vg_replace_malloc.c:366)
  by 0x4E927AC: g_slist_remove (in
  by 0x19F788: session_remove (adapter.c:689)
  by 0x19F82A: session_free (adapter.c:708)
  by 0x4E92CD6: g_slist_foreach (in
  by 0x4E92CFA: g_slist_free_full (in
  by 0x1A3ADD: btd_adapter_stop (adapter.c:2491)

12 years agoheadset: Fix missing check for non-existent pending message
Johan Hedberg [Wed, 21 Sep 2011 08:27:04 +0000 (17:27 +0900)]
headset: Fix missing check for non-existent pending message

12 years agoRemove redundant empty line
Johan Hedberg [Wed, 21 Sep 2011 08:04:02 +0000 (17:04 +0900)]
Remove redundant empty line

12 years agoAVDTP: Fix state if authorization fails
Johan Hedberg [Wed, 21 Sep 2011 02:03:11 +0000 (11:03 +0900)]
AVDTP: Fix state if authorization fails

12 years agoFix agent fall-back mechanism
Johan Hedberg [Tue, 20 Sep 2011 15:21:16 +0000 (00:21 +0900)]
Fix agent fall-back mechanism

We can't change the agent for a request internally within agent.c since
externally code may depend on a specific agent being used so that
agent_cancel work properly. This patch exports the fall-back behavior
from agent.c into device.c.

12 years agoAVDTP: Refactor audio_device_cancel_authorization usage
Johan Hedberg [Tue, 20 Sep 2011 07:00:35 +0000 (16:00 +0900)]
AVDTP: Refactor audio_device_cancel_authorization usage

12 years agobuild: Use private copy of Bluetooth library for audio support
Marcel Holtmann [Sun, 18 Sep 2011 20:28:11 +0000 (22:28 +0200)]
build: Use private copy of Bluetooth library for audio support

12 years agoFix crash when update service record with an invalid XML
Syam Sidhardhan [Sun, 18 Sep 2011 09:29:15 +0000 (14:59 +0530)]
Fix crash when update service record with an invalid XML

If we pass an invalid xml to sdp_xml_parse_record(), then it returns
NULL. Further we are passing the this NULL pointer to the
sdp_record_free(), which leads to invalid memory access.

12 years agoAdd valid range descriptor uuid
Santiago Carot-Nemesio [Wed, 24 Aug 2011 08:37:45 +0000 (10:37 +0200)]
Add valid range descriptor uuid

12 years agoFix magic numbers for local/remote name length
Claudio Takahasi [Thu, 15 Sep 2011 19:32:41 +0000 (16:32 -0300)]
Fix magic numbers for local/remote name length

12 years agoRemove unneeded headers included in storage.c
Claudio Takahasi [Thu, 15 Sep 2011 19:32:31 +0000 (16:32 -0300)]
Remove unneeded headers included in storage.c

12 years agoRemove not referenced function in storage.c
Claudio Takahasi [Thu, 15 Sep 2011 19:32:21 +0000 (16:32 -0300)]
Remove not referenced function in storage.c

12 years agoRemove create_file calls for read operations
Claudio Takahasi [Thu, 15 Sep 2011 19:32:11 +0000 (16:32 -0300)]
Remove create_file calls for read operations

This patch fixes some read only functions in storage.c removing
create_file function calls.

12 years agoRemove storing device type
Claudio Takahasi [Thu, 15 Sep 2011 19:31:43 +0000 (16:31 -0300)]
Remove storing device type

Device type doesn't need to be stored since GATT services information
exported through basic rate can be retrieved from the SDP records.
Device "type" is also a wrong expression to represent the operation
mode: over which transport GATT service is being exported.

12 years agoFix allocation of attribute values
Vinicius Costa Gomes [Thu, 15 Sep 2011 18:58:51 +0000 (14:58 -0400)]
Fix allocation of attribute values

Now that pointers to attribute are passed as reference to functions
we cannot have they change during run time, what g_try_realloc()
could do.

12 years agoavrcp: get/set three-byte company-id
David Stockwell [Thu, 15 Sep 2011 04:21:37 +0000 (01:21 -0300)]
avrcp: get/set three-byte company-id

12 years agoavrcp: fix handling of metadata item 0x7
David Stockwell [Thu, 15 Sep 2011 04:21:36 +0000 (01:21 -0300)]
avrcp: fix handling of metadata item 0x7

Metadata field number 0x7 should be the total playing time of the track
(TrackDuration) in msec, not current position within track.

12 years agoavrcp: use LAST element on media_info_id enum
David Stockwell [Thu, 15 Sep 2011 04:21:35 +0000 (01:21 -0300)]
avrcp: use LAST element on media_info_id enum

12 years agoavrcp: fix overwrite of number of attributes
Lucas De Marchi [Thu, 15 Sep 2011 04:21:34 +0000 (01:21 -0300)]
avrcp: fix overwrite of number of attributes

The response of GetCurrentPlayerApplicationSettingValue expects the
first operand to be the number of attributes in response. Since we start
with len=0, we were overwriting this number with the value of the first
attribute.

Also use g_memdup instead of g_malloc + memcpy.

12 years agoavrcp: fix missing error code
Lucas De Marchi [Thu, 15 Sep 2011 04:21:33 +0000 (01:21 -0300)]
avrcp: fix missing error code

12 years agoAVRCP: change debug to better reflect packets protocol/profile
Luiz Augusto von Dentz [Wed, 14 Sep 2011 09:16:50 +0000 (12:16 +0300)]
AVRCP: change debug to better reflect packets protocol/profile

12 years agoserial: add Serial.ConnectFD()
Gustavo F. Padovan [Tue, 13 Sep 2011 18:16:05 +0000 (15:16 -0300)]
serial: add Serial.ConnectFD()

It's similar to Serial.Connect() but returns the actual RFCOMM file
descriptor instead of creating a device in /dev

12 years agoserial: fix DBus message reply
Gustavo F. Padovan [Tue, 13 Sep 2011 18:16:04 +0000 (15:16 -0300)]
serial: fix DBus message reply

If reply is NULL we have a crash.

12 years agobuild: Link all tools with local copy of Bluetooth library
Marcel Holtmann [Tue, 13 Sep 2011 14:48:58 +0000 (16:48 +0200)]
build: Link all tools with local copy of Bluetooth library

12 years agoAVRCP: move handling of vendor dependent PDU from control.c to avrcp.c
Luiz Augusto von Dentz [Mon, 12 Sep 2011 16:34:01 +0000 (19:34 +0300)]
AVRCP: move handling of vendor dependent PDU from control.c to avrcp.c

This helps to isolate AVRCP PDU handling and MediaPlayer interface.

12 years agoAVRCP: split AVCTP specific code from control.c
Luiz Augusto von Dentz [Mon, 12 Sep 2011 16:34:00 +0000 (19:34 +0300)]
AVRCP: split AVCTP specific code from control.c

The code is moved to avctp.c to simplify control.c

12 years agoAVRCP: rename avrcp_spec_avc_pdu to avrcp_header
Luiz Augusto von Dentz [Mon, 12 Sep 2011 16:33:59 +0000 (19:33 +0300)]
AVRCP: rename avrcp_spec_avc_pdu to avrcp_header

Since old avrcp_header got renamed to avc_header now we can use
avrcp_header for AVRCP PDUs.

12 years agoAVRCP: rename avrcp_header to avc_header
Luiz Augusto von Dentz [Mon, 12 Sep 2011 16:33:58 +0000 (19:33 +0300)]
AVRCP: rename avrcp_header to avc_header

AVCTP carries AV/C packets/PDUs not AVRCP as avrcp_header suggests.

12 years agoAVRCP: use a vtable to simplify PDU parsing/handling
Luiz Augusto von Dentz [Mon, 12 Sep 2011 16:33:57 +0000 (19:33 +0300)]
AVRCP: use a vtable to simplify PDU parsing/handling

This simplify a bit the handling by introducing common checks before
calling the handler callback, it is also much easier to add/remove
new PDUs in this way.

12 years agoAdd test for serial proxy and serial proxy manager
Bruno Dilly [Tue, 30 Aug 2011 13:04:23 +0000 (10:04 -0300)]
Add test for serial proxy and serial proxy manager

12 years agoReturn EALREADY if the adapter is already up/down
Claudio Takahasi [Mon, 12 Sep 2011 12:06:32 +0000 (09:06 -0300)]
Return EALREADY if the adapter is already up/down

12 years agoSerialize powering up/down in maemo6 plugin
Claudio Takahasi [Mon, 12 Sep 2011 12:06:31 +0000 (09:06 -0300)]
Serialize powering up/down in maemo6 plugin

This patch fixes wrong adapter state when using Management interface.
When bluetoothd starts, the adapter should be switched to the state
informed by Maemo6 MCE. In the current implementation, Maemo6 plugin
sends set powered command when the adapter is still powering up, the
last command sent fails(kernel returns EALREADY).

12 years agoFix adapter->up declaration
Claudio Takahasi [Mon, 12 Sep 2011 12:06:30 +0000 (09:06 -0300)]
Fix adapter->up declaration

Minor code convention fix. This patch fix "up" variable declaration in
adapter structure. Convert "up" to gboolean making it compliant with
its usage.

12 years agoFix minor coding-style issue
Johan Hedberg [Mon, 12 Sep 2011 08:02:21 +0000 (11:02 +0300)]
Fix minor coding-style issue

12 years agoPrevents sending Write Local Name when not needed
Claudio Takahasi [Fri, 2 Sep 2011 16:45:09 +0000 (13:45 -0300)]
Prevents sending Write Local Name when not needed

Fix unneeded Write Local Name command being sent when bluetoothd starts
or switching the adapter on. Using an array of chars it is not possible
to distinguish if there is a valid value to be set since empty is a
valid value.

12 years agoFix loop when setting adapter name
Claudio Takahasi [Fri, 2 Sep 2011 16:45:08 +0000 (13:45 -0300)]
Fix loop when setting adapter name

When management interface is enabled, name changed event comes when the
adapter is initialized as consequence of the Read Local Name. Use the
same function to set and handle event causes looping when bluetoothd
starts if the name stored in the controller is different from the name
provided by the adapter name plugin.

Splitting the adapter_update_local_name also fix the PropertyChanged
(for Name) signal being sent before AdapterAdded.

12 years agoRemove not referenced function
Claudio Takahasi [Wed, 24 Aug 2011 19:09:50 +0000 (16:09 -0300)]
Remove not referenced function

12 years agoRemove leftover function declaration
Claudio Takahasi [Wed, 24 Aug 2011 19:09:49 +0000 (16:09 -0300)]
Remove leftover function declaration

12 years agoRemove unneeded header include
Claudio Takahasi [Wed, 24 Aug 2011 19:09:48 +0000 (16:09 -0300)]
Remove unneeded header include

12 years agoRemove forward declaration
Claudio Takahasi [Wed, 24 Aug 2011 19:09:47 +0000 (16:09 -0300)]
Remove forward declaration

12 years agoFix ATT disconnect callback not being called
Claudio Takahasi [Tue, 9 Aug 2011 16:47:44 +0000 (13:47 -0300)]
Fix ATT disconnect callback not being called

GAttrib disconnect function needs to be set after discovering the
primary services if the connection callback list is not empty. After
creating a device the connection can stay up, for this scenario the
registered disconnection callbacks are not being called.

12 years agoWrite Link Loss Alert level if connected
Claudio Takahasi [Tue, 9 Aug 2011 16:47:43 +0000 (13:47 -0300)]
Write Link Loss Alert level if connected

When SetProperty gets called for LinkLossAlertLevel, the alert level
can be written in the remote is the link is up.

12 years agosbc: Use __asm__ keyword
Maarten Bosmans [Tue, 6 Sep 2011 07:40:44 +0000 (10:40 +0300)]
sbc: Use __asm__ keyword

There are two reasons for this change:

First: consistency. __asm__ was already used elsewhere in the files, so
using that throughout is cleaner.

Second: both asm and __asm__ are GCC-specific extensions, not defined in
the C standard. When compiling with --std=gnu99 both are recognized, but
when using --std=c99 only __asm__ is recognized to make it perfectly
clear that you're not using some standard C99 construct, but a
GCC-extension.

12 years agoAdd support for blacklisting events
Antti Julku [Thu, 28 Jul 2011 12:00:22 +0000 (15:00 +0300)]
Add support for blacklisting events

Add support for mgmt interface events for device blocking/unblocking.
Kernel sends a mgmt event when a device has been blocked by another
management socket or with ioctl command (e.g. by hciconfig).

Parameter update_only is added to device_block/unblock functions in
device.c to avoid code copying. When update_only is true, blocking
command is not sent to kernel, but only device status is updated and
dbus signal is sent.

12 years agoAdd definition for L2CAP Ext Window Size
Andrei Emeltchenko [Mon, 22 Aug 2011 08:51:43 +0000 (11:51 +0300)]
Add definition for L2CAP Ext Window Size

This is needed e.g. by hcidump.

12 years agoFix fd usage when not connected
Lucas De Marchi [Fri, 26 Aug 2011 12:06:00 +0000 (09:06 -0300)]
Fix fd usage when not connected

When the avctp channel is not connected, we call
g_io_channel_unix_get_fd() with a NULL pointer. Glib does not check the
pointer before dereferencing it, causing bluetoothd to segv.

Move the function call to the place it's actually needed, after the
safety checks.

12 years agoPrint an error message if g_dbus_setup_bus fails.
Burt Silverman [Fri, 26 Aug 2011 22:39:01 +0000 (18:39 -0400)]
Print an error message if g_dbus_setup_bus fails.

That is standard processing when dbus_error_is_set() returns true, according to
dbus/dbus/dbus-errors.c.
In this case of g_dbus_setup_bus(), it provides extra help for determing the
specific cause of the error.

12 years agoAdd Serial Proxy and Serial Proxy Manager doc
Bruno Dilly [Mon, 29 Aug 2011 20:42:07 +0000 (17:42 -0300)]
Add Serial Proxy and Serial Proxy Manager doc

12 years agoOff-by-one error in uses_rfcomm
Pavel Raiskup [Tue, 16 Aug 2011 09:46:44 +0000 (11:46 +0200)]
Off-by-one error in uses_rfcomm

Variable len could be assigned to PATH_MAX + 1 length (returned
 from readlink) and this variable is used as index to array link
of size only PATH_MAX + 1.

12 years agoformfactor: Add missing comma
Pavel Raiskup [Thu, 11 Aug 2011 11:52:00 +0000 (13:52 +0200)]
formfactor: Add missing comma

Missing comma in static array chassis_map definition between
"Blade" and "Blade Enclosure" field.

Typing error fixed.

12 years agoOff-by-one(two) error in form factor detection
Pavel Raiskup [Thu, 11 Aug 2011 11:36:25 +0000 (13:36 +0200)]
Off-by-one(two) error in form factor detection

Indexing of chassis_map array has to be done like that:
    chassis_map[chassis_type * 2 - 1]

because if not, everything is shifted by one. When (e.g.) chassis_type
is 0x04 result should be "Low Profile Desktop" =>  "desktop" (not a
"Pizza Box" => "server"). Lets see the 2.6.1 document on:

http://www.dmtf.org/standards/smbios

12 years agobuild: Link bluetoothd with private copy of libbluetooth
Marcel Holtmann [Sun, 28 Aug 2011 23:07:43 +0000 (16:07 -0700)]
build: Link bluetoothd with private copy of libbluetooth

12 years agoaudio: Update license for shared header files
Marcel Holtmann [Fri, 26 Aug 2011 18:18:54 +0000 (11:18 -0700)]
audio: Update license for shared header files

The header files with constants and structures for audio specific
interaction with Pulseaudio are suppose to be under LGPL license.

For some odd reason a2dp-codecs.h ended up being under GPL license
which is against the intention of this being shared and re-used by
non-GPL programs. Fix this now to avoid any future confusion.

12 years agoImplement media_transport for HFP_HS_UUID
Frédéric Dalleau [Mon, 22 Aug 2011 15:30:47 +0000 (17:30 +0200)]
Implement media_transport for HFP_HS_UUID

The transport is used by pulseaudio to suspend and resume streams.

12 years agoIntroduce gateway locking mechanism
Frédéric Dalleau [Mon, 22 Aug 2011 15:30:46 +0000 (17:30 +0200)]
Introduce gateway locking mechanism

12 years agoSet state to "connecting" when AG connects.
Frédéric Dalleau [Mon, 22 Aug 2011 15:30:44 +0000 (17:30 +0200)]
Set state to "connecting" when AG connects.

This state is used by media.c to trigger pulseaudio configuration.

12 years agoFix RFCOMM disconnect on suspend request
Frédéric Dalleau [Mon, 22 Aug 2011 15:30:43 +0000 (17:30 +0200)]
Fix RFCOMM disconnect on suspend request

When pulseaudio release an audio stream, gateway.c disconnects
RFCOMM instead of disconnecting only SCO.

12 years agoUpdate g_strcmp0 to strcasecmp
Frédéric Dalleau [Mon, 22 Aug 2011 15:30:42 +0000 (17:30 +0200)]
Update g_strcmp0 to strcasecmp

12 years agoUse state change callback from media interface
Frédéric Dalleau [Mon, 22 Aug 2011 15:30:41 +0000 (17:30 +0200)]
Use state change callback from media interface

When a HFPHS endpoint is created, media will start to watch for
HandsfreeGateway state changes. media call SetConfiguration upon
connection and ClearConfiguration upon disconnection.

12 years agoAdd state change callback to HandsfreeGateway
Frédéric Dalleau [Mon, 22 Aug 2011 15:30:40 +0000 (17:30 +0200)]
Add state change callback to HandsfreeGateway

Media interface needs to monitor state changes of HandsfreeGateway.

12 years agoFix double free in error case in endpoint_reply
Frédéric Dalleau [Mon, 22 Aug 2011 15:30:39 +0000 (17:30 +0200)]
Fix double free in error case in endpoint_reply

If SetConfiguration call fails, the headset or gateway for which
SetConfiguration is called is disconnected. This will free any
pending request, but this does not prevent the request to
terminate (endpoint_reply) and try to free itself once again.
Note that a copy of the freed pointer is tested which has not
been updated.

12 years agoDisable Path Loss service in configuration file
Claudio Takahasi [Fri, 19 Aug 2011 14:11:59 +0000 (11:11 -0300)]
Disable Path Loss service in configuration file

Path Loss service requires kernel and userspace patches to work
properly. Keep it disabled while the implementation is not ready.

12 years agoChange default Link Loss alert level to high
Claudio Takahasi [Fri, 19 Aug 2011 14:11:58 +0000 (11:11 -0300)]
Change default Link Loss alert level to high

After creating a Proximity device, Link Loss alert level is always
written. Setting the default value to "high" enables alert without
requiring an application to change it later.

12 years agoAdd Trusted to DeviceFound signal
Gustavo F. Padovan [Thu, 18 Aug 2011 20:15:11 +0000 (17:15 -0300)]
Add Trusted to DeviceFound signal

This makes it consistent with the documentation which says that this
signal is has the same parameters as GetProperties reply.

12 years agoFix remove temporary link key for No Bonding
Dmitriy Paliy [Mon, 22 Aug 2011 13:45:39 +0000 (16:45 +0300)]
Fix remove temporary link key for No Bonding

This fixes regression caused by 33cdfcb0fabcfb5260953a13ae277b5abe9a322d.
Temporary link key should be removed after device is disconnected if
bonding information is not stored in file system.

Currently, the key is deleted only when paired device is removed, or
adapter is powered off. In case of No Bonding authentication, device is
not paired after disconnection, which results in link key left in memory.

On the other hand, device is not necessarily removed after disconnection
that also leaves unneeded temporary link key in memory. Therefore,
btd_adapter_remove_bonding is moved to device_set_paired(device, FALSE)
covering both cases.

12 years agobuild: Fix external plugin installation
Marcel Holtmann [Mon, 22 Aug 2011 13:00:21 +0000 (06:00 -0700)]
build: Fix external plugin installation

12 years agoRead local extended features at the initialization
Claudio Takahasi [Fri, 19 Aug 2011 20:30:41 +0000 (17:30 -0300)]
Read local extended features at the initialization

Local extended features bitmask may change when Write LE Host Supported
Command is sent by the kernel. This patch adds reading of the local
extended features in the initialization sending a HCI command, extend
the ioctl HCIGETDEVINFO is not suitable due possible inconsistency
between kernel and userspace.

12 years agoRemove EnableLE option from the user-space
Claudio Takahasi [Fri, 19 Aug 2011 20:30:40 +0000 (17:30 -0300)]
Remove EnableLE option from the user-space

Deprecated configure option after adding "enable_le" parameter in the
bluetooth module. Write LE Host Supported Command is now sent by the
kernel if "enable_le" is enabled and the controller supports LE.

12 years agoAdd support for listing all adapters using test-adapter
Vinicius Costa Gomes [Tue, 16 Aug 2011 21:58:52 +0000 (18:58 -0300)]
Add support for listing all adapters using test-adapter

12 years agoFix get/set_hfp_active to match name conventions
Peter Hurley [Sat, 13 Aug 2011 17:31:36 +0000 (13:31 -0400)]
Fix get/set_hfp_active to match name conventions

These two functions are defined exclusively for headsets, so
follow established name conventions.

12 years agoIncrease timeout before initiating AVDTP connection
Peter Hurley [Fri, 12 Aug 2011 15:00:15 +0000 (11:00 -0400)]
Increase timeout before initiating AVDTP connection

AVDTP_CONNECT_TIMEOUT controls the delay between HSP/HFP
connection establishment and AVDTP signal channel establishment.
The original value of 1 sec. is too short to avoid racing for AVDTP
connection establishment (eg., if the device continues to configure
the HFP service level connection with additional AT cmds).

Some devices have broken AVDTP implementations that just cannot
handle the race conditions that arise if both devices are attempting
stream establishment at the same time. However, these conditions arise
only when the remote device is the ACL initiator (and in practice, the
RFCOMM initiator as well).  This fix bumps out the timeout value only
when the headset has initiated the link.

12 years agoplugin: Use weak reference for external debug statements
Marcel Holtmann [Tue, 16 Aug 2011 16:16:20 +0000 (09:16 -0700)]
plugin: Use weak reference for external debug statements