OSDN Git Service

android-x86/external-bluetooth-bluez.git
13 years agoGet rid of unnecessary manager_get_default_adapter function
Johan Hedberg [Sun, 19 Dec 2010 11:35:13 +0000 (13:35 +0200)]
Get rid of unnecessary manager_get_default_adapter function

13 years agoGet rid of unnecessary manager_find_adapter_by_path function
Johan Hedberg [Sun, 19 Dec 2010 11:33:18 +0000 (13:33 +0200)]
Get rid of unnecessary manager_find_adapter_by_path function

13 years agoGet rid of unnecessary manager_find_adapter_by_address function
Johan Hedberg [Sun, 19 Dec 2010 11:32:04 +0000 (13:32 +0200)]
Get rid of unnecessary manager_find_adapter_by_address function

13 years agoAdd manager_foreach_adapter()
Johan Hedberg [Sun, 19 Dec 2010 11:25:51 +0000 (13:25 +0200)]
Add manager_foreach_adapter()

Ultimately manager_get_adapters shouldn't be needed at all. By
introducing manager_foreach_adapter most instances can be removed.

13 years agoFix memory leak in adapter_service_ins_rem()
Johan Hedberg [Sun, 19 Dec 2010 08:40:43 +0000 (10:40 +0200)]
Fix memory leak in adapter_service_ins_rem()

Since the adapters list is artificially created for specific adapters
(bdaddr != BDADDR_ANY) the list needs freeing at the end of the
function. However, there's no need to artificially create the list at
all if the address comparison is done within the for-loop. Since
manager_find_adapter needs to iterate through the adapters anyway while
comparing the address there really isn't a significant penalty in doing
this in the loop in adapter_service_ins_rem.

Based on the original report and initial patch from
Anderson Lizardo <anderson.lizardo@openbossa.org>.

13 years agoFix clearing authentication request for renewed keys
Johan Hedberg [Sun, 19 Dec 2010 00:01:55 +0000 (02:01 +0200)]
Fix clearing authentication request for renewed keys

In the case of upgrading an unauthenticated key to an authenticated one
there will be a second authentication request which needs to be cleared
upon the link key notification event.

13 years agoFix setting paired state when device->authr is false
Johan Hedberg [Sat, 18 Dec 2010 11:52:02 +0000 (13:52 +0200)]
Fix setting paired state when device->authr is false

Some buggy controllers might generate a link key notification even after
a disconnect has been requested. To make sure that device->paired is in
sync with the real paired state set the value independent of
device->authr when a link key notification happens. Below is a snippet
of such buggy (or at least strange) behavior from a controller:

< HCI Command: Disconnect (0x01|0x0006) plen 3
    handle 6 reason 0x13
    Reason: Remote User Terminated Connection
> HCI Event: Link Key Notification (0x18) plen 23
    bdaddr 00:26:CC:77:xx:xx key 33E6F2B75FC870AA794BB6249EBD6AC6 type 0
    Type: Combination Key
> HCI Event: Auth Complete (0x06) plen 3
    status 0x00 handle 6
> HCI Event: Command Status (0x0f) plen 4
    Disconnect (0x01|0x0006) status 0x00 ncmd 1
< HCI Command: Disconnect (0x01|0x0006) plen 3
    handle 6 reason 0x13
    Reason: Remote User Terminated Connection
> HCI Event: Command Status (0x0f) plen 4
    Disconnect (0x01|0x0006) status 0x00 ncmd 1
> HCI Event: Disconn Complete (0x05) plen 4
    status 0x00 handle 6 reason 0x16
    Reason: Connection Terminated by Local Host

13 years agoRemove unnecessary empty line
Johan Hedberg [Sat, 18 Dec 2010 11:51:48 +0000 (13:51 +0200)]
Remove unnecessary empty line

13 years agoImplement storing of link keys in runtime memory
Johan Hedberg [Sat, 18 Dec 2010 11:50:10 +0000 (13:50 +0200)]
Implement storing of link keys in runtime memory

The management interface will enable storing link keys in runtime memory
in the kernel. This patch makes the adapter interface match this model
and adds storing of link keys into hciops.

13 years agoAdd missing mgmtops callbacks
Johan Hedberg [Sat, 18 Dec 2010 02:38:16 +0000 (04:38 +0200)]
Add missing mgmtops callbacks

13 years agoSwitch to using power_on & power_off adapter_ops callbacks
Johan Hedberg [Sat, 18 Dec 2010 02:31:55 +0000 (04:31 +0200)]
Switch to using power_on & power_off adapter_ops callbacks

These map better to the new management interface.

13 years agoRemove hciops device info struct member defines
Johan Hedberg [Sat, 18 Dec 2010 01:49:14 +0000 (03:49 +0200)]
Remove hciops device info struct member defines

The struct is growing quite large and having a define for every member
is not really clean.

13 years agoRemove unnecessary read_local_ext_features callback
Johan Hedberg [Sat, 18 Dec 2010 00:32:45 +0000 (02:32 +0200)]
Remove unnecessary read_local_ext_features callback

13 years agoRefactor adapter initialization and power control
Johan Hedberg [Fri, 17 Dec 2010 12:07:19 +0000 (14:07 +0200)]
Refactor adapter initialization and power control

This (rather big) patch refactors the way that adapters are initialized
and powered on/off. The purpose is to align the adapter_ops <-> core
daemon interface with how the management interface will behave.

13 years agoRelease 4.82
Marcel Holtmann [Sat, 18 Dec 2010 19:34:45 +0000 (20:34 +0100)]
Release 4.82

13 years agoFix crash when mmaping files which size is multiple of page size
Luiz Augusto von Dentz [Fri, 17 Dec 2010 13:31:26 +0000 (15:31 +0200)]
Fix crash when mmaping files which size is multiple of page size

In this case the buffer returned by mmap is not NULL terminated so
functions like strpbrk that expect a string goes out of bounds.

To fix this strpbrk_len was introduced which takes the size of the buffer
making sure it never goes out of bounds.

13 years agoAdd AVDTP SRC stream send buffer size verification
Dmitriy Paliy [Wed, 15 Dec 2010 09:48:53 +0000 (11:48 +0200)]
Add AVDTP SRC stream send buffer size verification

Functions get_send_buffer_size and set_send_buffer_size are added to
avdpt.c.

get_send_buffer_size returns size of send buffer for a given socket
on success or error code on failure. set_send_buffer_size sets size
of send buffer for a given socket, and returns 0 on success or error
code on failure.

Size of send buffer for L2CAP socket for SRC AVDTP stream is verified
during establishment of a new transport channel. If the size is less
than twice of outgoing L2CAP MTU, then it is considered as being
insufficient to handle streaming data reliably.

In this case buffer size is increased to be twice of MTU size. Such
fixes some IOP problems with car-kits that use large MTU for music
playback.

13 years agoConvert more D-Bus errors to btd_error_*
Gustavo F. Padovan [Thu, 16 Dec 2010 17:58:09 +0000 (15:58 -0200)]
Convert more D-Bus errors to btd_error_*

13 years agoAdd btd_error_not_ready()
Gustavo F. Padovan [Thu, 16 Dec 2010 17:58:08 +0000 (15:58 -0200)]
Add btd_error_not_ready()

13 years agoAdd btd_error_agent_not_available()
Gustavo F. Padovan [Thu, 16 Dec 2010 17:58:07 +0000 (15:58 -0200)]
Add btd_error_agent_not_available()

13 years agoFix overriding global link_policy due to a single adapter
Johan Hedberg [Thu, 16 Dec 2010 17:48:48 +0000 (19:48 +0200)]
Fix overriding global link_policy due to a single adapter

The global link policy should remain unchanged even if an adapter
doesn't happen to support some features. These features should only be
disabled for that specific adapter.

13 years agoFix sending duplicate speaker/microphone gains to the headset
Luiz Augusto von Dentz [Thu, 16 Dec 2010 14:13:21 +0000 (16:13 +0200)]
Fix sending duplicate speaker/microphone gains to the headset

Current code only prevent duplicate D-Bus signals, so in case headset
changes the volume a client may set the same volume level again which
would be send as new volume level.

To fix this headset_set_gain now return -EALREADY if nothing has changed
so code using it can just ignore the change instead of sending to remote
device.

13 years agoFix not calling SetConfiguration on hfp/hsp endpoints before connected
Luiz Augusto von Dentz [Thu, 16 Dec 2010 14:13:20 +0000 (16:13 +0200)]
Fix not calling SetConfiguration on hfp/hsp endpoints before connected

This cause some clients like PulseAudio to fail to find a proper
transport since connected state is send before transport configuration
is set.

To fix this now SetConfiguration is called early on when headset is still
in connecting phase, this matches sink/source where SetConfiguration is
also called before connected.

13 years agoRemove error_common_reply()
Gustavo F. Padovan [Wed, 15 Dec 2010 22:07:01 +0000 (20:07 -0200)]
Remove error_common_reply()

Remove old dbus error report function. This patch doesn't make things
really really better, but is a start.

13 years agoFix memory leak of gattrib commands queue
Claudio Takahasi [Wed, 15 Dec 2010 20:00:09 +0000 (17:00 -0300)]
Fix memory leak of gattrib commands queue

13 years agoImplement cancel primary discovery session
Claudio Takahasi [Wed, 15 Dec 2010 19:54:08 +0000 (16:54 -0300)]
Implement cancel primary discovery session

Extend bt_cancel_discovery function to cancel an ongoing Discover
All Primary Services procedure.

13 years agoImplement support for management powered event
Johan Hedberg [Wed, 15 Dec 2010 22:41:41 +0000 (00:41 +0200)]
Implement support for management powered event

13 years agoRename set_powered callbacks accordingly
Johan Hedberg [Wed, 15 Dec 2010 22:41:10 +0000 (00:41 +0200)]
Rename set_powered callbacks accordingly

13 years agoFix invalid g_io_channel_unref call in hf_io_cb
Johan Hedberg [Wed, 15 Dec 2010 17:51:11 +0000 (19:51 +0200)]
Fix invalid g_io_channel_unref call in hf_io_cb

13 years agoFix signess of err variable passed to strerror
Johan Hedberg [Tue, 14 Dec 2010 13:43:41 +0000 (15:43 +0200)]
Fix signess of err variable passed to strerror

13 years agoFix add_record_to_server to return a proper error value
Johan Hedberg [Tue, 14 Dec 2010 08:52:18 +0000 (10:52 +0200)]
Fix add_record_to_server to return a proper error value

13 years agoFix start_discovery error return value
Johan Hedberg [Tue, 14 Dec 2010 08:52:04 +0000 (10:52 +0200)]
Fix start_discovery error return value

13 years agoUse correct signess for err variable
Johan Hedberg [Tue, 14 Dec 2010 08:51:41 +0000 (10:51 +0200)]
Use correct signess for err variable

13 years agoFix input disconnect function error return value
Johan Hedberg [Tue, 14 Dec 2010 08:51:03 +0000 (10:51 +0200)]
Fix input disconnect function error return value

13 years agoFix avctp_send_passthrough to return a proper error value
Johan Hedberg [Tue, 14 Dec 2010 08:50:34 +0000 (10:50 +0200)]
Fix avctp_send_passthrough to return a proper error value

13 years agosrc: use btd_error_failed()
Gustavo F. Padovan [Mon, 13 Dec 2010 21:33:07 +0000 (19:33 -0200)]
src: use btd_error_failed()

13 years agoserial: use btd_error_failed()
Gustavo F. Padovan [Mon, 13 Dec 2010 21:33:06 +0000 (19:33 -0200)]
serial: use btd_error_failed()

13 years agoaudio: use btd_error_failed()
Gustavo F. Padovan [Mon, 13 Dec 2010 21:33:05 +0000 (19:33 -0200)]
audio: use btd_error_failed()

13 years agoinput: use btd_error_failed()
Gustavo F. Padovan [Mon, 13 Dec 2010 21:33:04 +0000 (19:33 -0200)]
input: use btd_error_failed()

13 years agonetwork: use btd_error_failed()
Gustavo F. Padovan [Mon, 13 Dec 2010 21:33:03 +0000 (19:33 -0200)]
network: use btd_error_failed()

13 years agoattrib: use btd_error_failed()
Gustavo F. Padovan [Mon, 13 Dec 2010 21:33:02 +0000 (19:33 -0200)]
attrib: use btd_error_failed()

13 years agoplugins: use btd_error_failed()
Gustavo F. Padovan [Mon, 13 Dec 2010 21:33:01 +0000 (19:33 -0200)]
plugins: use btd_error_failed()

13 years agoAdd btd_error_failed()
Gustavo F. Padovan [Mon, 13 Dec 2010 21:33:00 +0000 (19:33 -0200)]
Add btd_error_failed()

This is a special error type. It has a more general meaning and allows you
to add a string to the error.

13 years agosrc: use btd_error_invalid_args()
Gustavo F. Padovan [Mon, 13 Dec 2010 21:32:59 +0000 (19:32 -0200)]
src: use btd_error_invalid_args()

13 years agoAdd btd_error_no_such_adapter()
Gustavo F. Padovan [Mon, 13 Dec 2010 21:32:58 +0000 (19:32 -0200)]
Add btd_error_no_such_adapter()

13 years agoUpdate mgmt-api.txt to match current implementation of read_info
Johan Hedberg [Mon, 13 Dec 2010 19:35:24 +0000 (21:35 +0200)]
Update mgmt-api.txt to match current implementation of read_info

13 years agoSetting default Link Policy according to the chip supported features
Pawel Wieczorkiewicz [Mon, 13 Dec 2010 14:19:14 +0000 (15:19 +0100)]
Setting default Link Policy according to the chip supported features

By default all features are enabled (RSWITCH, HOLD, PARK, SNIFF).
When "read local supported features" complete event occurs, not supported
features are disabled and then "Write default link policy" command with
supported features is sent.

On behalf of ST-Ericsson SA

13 years agoFix potential memory leak of ag.number
Johan Hedberg [Mon, 13 Dec 2010 12:08:02 +0000 (14:08 +0200)]
Fix potential memory leak of ag.number

13 years agoRename hciops_set_class to write_class
Johan Hedberg [Mon, 13 Dec 2010 10:30:25 +0000 (12:30 +0200)]
Rename hciops_set_class to write_class

Since hciops_set_class isn't (anymore) part of the exported adapter_ops
callbacks it's better to change it's name to avoid confusion.

13 years agoRefactor class of device (and related values) handling to adapter_ops
Johan Hedberg [Mon, 13 Dec 2010 09:12:03 +0000 (11:12 +0200)]
Refactor class of device (and related values) handling to adapter_ops

The management interface will move class of device and extended inquiry
response handling to the kernel side so the same functionality needs to
be moved into hciops. These features are quite tightly coupled in
bluetoothd so splitting this into multiple patches would have been hard
(if not impossible). Thus this quite large single commit.

13 years agoFix cleaning up HFP state after calling telephony_exit
Johan Hedberg [Sun, 12 Dec 2010 21:03:59 +0000 (23:03 +0200)]
Fix cleaning up HFP state after calling telephony_exit

HFP state variables in telephony.h need to be reset when telephony_exit
is called. This is even more important now that telephony_init/exit get
called simply by toggling the adapter powered state.

13 years agoDon't strdup the chld string for HFP
Johan Hedberg [Sun, 12 Dec 2010 21:02:32 +0000 (23:02 +0200)]
Don't strdup the chld string for HFP

The chld string is of type const char * and is referring to a fixed
string in the telephony driver. I.e. there's no need to strdup it.

13 years agoRemove unused adapter_ops->read_link_policy function
Johan Hedberg [Sat, 11 Dec 2010 22:00:19 +0000 (00:00 +0200)]
Remove unused adapter_ops->read_link_policy function

There is no code to react to the command complete of this HCI command so
there's really no value in issuing it to begin with.

13 years agoMerge read_mode management command into read_info
Johan Hedberg [Sat, 11 Dec 2010 21:57:55 +0000 (23:57 +0200)]
Merge read_mode management command into read_info

The read_mode and read_info commands are issued only once in the
beginning for each adapter so it doesn't make sense to have the
information fetching split across two different commands. Instead all
necessary info can be fetched through the read_info command.

13 years agoFix device removal when connecting/browsing fails
Johan Hedberg [Fri, 10 Dec 2010 12:04:41 +0000 (14:04 +0200)]
Fix device removal when connecting/browsing fails

13 years agoFix device creation error response when powered off
Johan Hedberg [Fri, 10 Dec 2010 11:52:31 +0000 (13:52 +0200)]
Fix device creation error response when powered off

When the adapter is powered off the Create*Device methods should fail
early instead of attempting to create a connection in vain.

13 years agoFix adapter->services leak in adapter_free()
Johan Hedberg [Fri, 10 Dec 2010 09:25:00 +0000 (11:25 +0200)]
Fix adapter->services leak in adapter_free()

13 years agoConvert CreateDevice on test-device script to an asynchronous call
Claudio Takahasi [Thu, 9 Dec 2010 19:42:14 +0000 (16:42 -0300)]
Convert CreateDevice on test-device script to an asynchronous call

Change required to test the scenario when the sender of a CreateDevice
request disconnects from the system bus. Current implementation is
blocking and it doesn't allow the user to cancel a request.

13 years agogdbus: fix accessing freed callback data
Johan Hedberg [Thu, 9 Dec 2010 19:52:54 +0000 (21:52 +0200)]
gdbus: fix accessing freed callback data

cb->disc_func or cb->conn_func could remove the callback so this needs
to be checked for before continuing processing.

13 years agoCheck the security level on a per request base
Bruna Moreira [Thu, 9 Dec 2010 13:09:13 +0000 (09:09 -0400)]
Check the security level on a per request base

Check security level on attribute server on each request, and update the
"encrypted" flag.

13 years agoFix HFP response and hold (AT+BTRH) command response
Johan Hedberg [Thu, 9 Dec 2010 13:09:39 +0000 (15:09 +0200)]
Fix HFP response and hold (AT+BTRH) command response

Since no telephony driver supports this command at the moment the
correct behavior is to always return an error. Therefore, a new
"not supported" value is needed for the respective state variable.

13 years agoAdd btd_error_already_connected()
Gustavo F. Padovan [Wed, 8 Dec 2010 20:26:01 +0000 (18:26 -0200)]
Add btd_error_already_connected()

13 years agoconvert error to btd_error_not_supported()
Gustavo F. Padovan [Wed, 8 Dec 2010 20:26:00 +0000 (18:26 -0200)]
convert error to btd_error_not_supported()

13 years agoconvert error to btd_error_not_connected()
Gustavo F. Padovan [Wed, 8 Dec 2010 20:25:59 +0000 (18:25 -0200)]
convert error to btd_error_not_connected()

13 years agoconvert error to btd_error_busy()
Gustavo F. Padovan [Wed, 8 Dec 2010 20:25:58 +0000 (18:25 -0200)]
convert error to btd_error_busy()

13 years agoconvert errors to btd_error_does_not_exist()
Gustavo F. Padovan [Wed, 8 Dec 2010 20:25:57 +0000 (18:25 -0200)]
convert errors to btd_error_does_not_exist()

13 years agoconvert errors to btd_error_not_authorized()
Gustavo F. Padovan [Wed, 8 Dec 2010 20:25:56 +0000 (18:25 -0200)]
convert errors to btd_error_not_authorized()

13 years agoFix coding styling issues in src/error.c
Gustavo F. Padovan [Wed, 8 Dec 2010 20:25:55 +0000 (18:25 -0200)]
Fix coding styling issues in src/error.c

13 years agogdbus: explicitly compare pointers to NULL
Lucas De Marchi [Sat, 27 Nov 2010 19:39:01 +0000 (17:39 -0200)]
gdbus: explicitly compare pointers to NULL

This patch was generated by the following semantic patch
(http://coccinelle.lip6.fr/)

// <smpl>
@fix disable is_null,isnt_null1@
expression *E;
@@

- !E
+ E == NULL
// </smpl>

13 years agoFix bt_extract_eir_name to use GLib memory allocation
Johan Hedberg [Wed, 8 Dec 2010 08:28:55 +0000 (10:28 +0200)]
Fix bt_extract_eir_name to use GLib memory allocation

The string returned by bt_extract_eir_name is freed using g_free so
GLib's own allocators should be used instead of libc ones.

13 years agoRevert use of new error function for Blocked
Gustavo F. Padovan [Wed, 8 Dec 2010 01:02:06 +0000 (23:02 -0200)]
Revert use of new error function for Blocked

The error message says a lot about what the user need to do, I'm reverting
this change and will fix in the next patch series about the DBus error
handling.

13 years agoRemove fixed item from TODO
Claudio Takahasi [Tue, 7 Dec 2010 22:20:37 +0000 (19:20 -0300)]
Remove fixed item from TODO

Read by UUID is already supported by attribute server and gatttool.

13 years agoMake device type evaluation more readable
Johan Hedberg [Tue, 7 Dec 2010 22:03:34 +0000 (00:03 +0200)]
Make device type evaluation more readable

13 years agoMake bt_name2class static on glib-helper
Claudio Takahasi [Fri, 3 Dec 2010 14:28:52 +0000 (11:28 -0300)]
Make bt_name2class static on glib-helper

13 years agoglib-helper: fix coding style issues
Claudio Takahasi [Fri, 3 Dec 2010 14:28:51 +0000 (11:28 -0300)]
glib-helper: fix coding style issues

13 years agoMake EIR type an optional argument for bt_extract_eir_name
Claudio Takahasi [Tue, 7 Dec 2010 21:33:15 +0000 (18:33 -0300)]
Make EIR type an optional argument for bt_extract_eir_name

13 years agoCheck if the remote LE is connectable when creating a device
Claudio Takahasi [Tue, 7 Dec 2010 21:31:53 +0000 (18:31 -0300)]
Check if the remote LE is connectable when creating a device

Before issue Discover All Primary Service the advertising event type
needs to be evaluated to avoid connection attempts to non-connectable
devices. For non-connectable devices, CreateDevice creates the device
instance however no Services/UUIDs will be exposed.

13 years agoAdd device type to identify LE, BR/EDR or dual mode devices
Claudio Takahasi [Tue, 7 Dec 2010 21:30:40 +0000 (18:30 -0300)]
Add device type to identify LE, BR/EDR or dual mode devices

If EIR Flags field is sent in the advertising data, it can be used
to detect the operation mode. If the remote device is dual mode,
GAP operation mode defines that it shall follow the connectable
mode for BR/EDR and non-connectable mode for LE. This patch forces
service discovery protocol prior to Discover All Primary Services.

13 years agoRemove automatic battery state change on attribute example
Claudio Takahasi [Tue, 7 Dec 2010 21:41:38 +0000 (18:41 -0300)]
Remove automatic battery state change on attribute example

Legacy code implemented to test Indication and Notification

13 years agoAdd btd_error_not_authorized()
Gustavo F. Padovan [Mon, 6 Dec 2010 19:10:48 +0000 (17:10 -0200)]
Add btd_error_not_authorized()

13 years agoAdd btd_error_does_not_exist()
Gustavo F. Padovan [Mon, 6 Dec 2010 19:10:47 +0000 (17:10 -0200)]
Add btd_error_does_not_exist()

13 years agoAdd btd_error_busy()
Gustavo F. Padovan [Mon, 6 Dec 2010 19:10:46 +0000 (17:10 -0200)]
Add btd_error_busy()

13 years agoAdd btd_error_not_available()
Gustavo F. Padovan [Mon, 6 Dec 2010 19:10:45 +0000 (17:10 -0200)]
Add btd_error_not_available()

13 years agoAdd btd_error_in_progress()
Gustavo F. Padovan [Mon, 6 Dec 2010 19:10:44 +0000 (17:10 -0200)]
Add btd_error_in_progress()

13 years agoAdd btd_error_not_connected()
Gustavo F. Padovan [Mon, 6 Dec 2010 19:10:43 +0000 (17:10 -0200)]
Add btd_error_not_connected()

13 years agoAdd btd_error_not_supported()
Gustavo F. Padovan [Mon, 6 Dec 2010 19:10:42 +0000 (17:10 -0200)]
Add btd_error_not_supported()

13 years agoAdd btd_error_already_exists()
Gustavo F. Padovan [Mon, 6 Dec 2010 19:10:41 +0000 (17:10 -0200)]
Add btd_error_already_exists()

13 years agoCreate btd_error_invalid_args()
Gustavo F. Padovan [Mon, 6 Dec 2010 19:10:40 +0000 (17:10 -0200)]
Create btd_error_invalid_args()

DBus error handling in BlueZ is a mess. This is the first patch to unify
all DBus error handling like in ConnMan and oFono. This unifies all
.InvalidArguments errors.

13 years agoFix writing to GAttrib socket without POLLOUT event
Vinicius Costa Gomes [Fri, 3 Dec 2010 18:28:48 +0000 (15:28 -0300)]
Fix writing to GAttrib socket without POLLOUT event

If the GIOChannel is in the buffered state (the default) the watch
function is called without receiving a POLLOUT from the socket. GLib
adds a G_IO_OUT condition just because there is space in the GIOChannel
internal buffer.

The solution is disabling the internal buffer, which in turn, makes the
call of g_io_channel_flush() useless.

13 years agoCheck authentication permissions on attribute server
Anderson Lizardo [Fri, 3 Dec 2010 18:26:22 +0000 (14:26 -0400)]
Check authentication permissions on attribute server

Attributes may require encryption for certain operations. This commit
adds checks to the attribute server which verify whether the current
connection is encrypted (by checking the security level) and the
attribute being accessed requires authentication. If encryption
requirements are not satisfied, the "Insufficient Encryption" error is
returned by the server.

Note that currently there is no actual distinction between
authentication and encryption. Currently, if an attribute requires
authentication, it is only checked whether the link is encrypted. Core
Specification, as of version 4.0, does not specify an explicit
"encryption" permission (see Vol.  3, Part F, 3.2.5 "Attribute
Permissions").

13 years agoCheck attribute permissions in attribute server
Bruna Moreira [Fri, 3 Dec 2010 18:26:21 +0000 (14:26 -0400)]
Check attribute permissions in attribute server

The attribute server must verify if the operation (read/write) is
permitted before running the request, and send "Read Not Permitted" or
"Write Not Permitted" error response to client if appropriate.

13 years agoInitial attribute permission implementation
Bruna Moreira [Fri, 3 Dec 2010 18:26:20 +0000 (14:26 -0400)]
Initial attribute permission implementation

Add enums for attribute read/write requirements, which may be "none",
"authentication required" or "authorization required". Additionally, a
"not permitted" requirement means that operation is not permitted,
allowing read-only or write-only attributes.

The attrib_db_add() API was changed to allow setting these requirements,
and the example server was changed to set requirements for its
attributes.

13 years agoFix deinitializing telephony backend when it wasn't initialized
Luiz Augusto von Dentz [Thu, 2 Dec 2010 08:46:04 +0000 (10:46 +0200)]
Fix deinitializing telephony backend when it wasn't initialized

Telephony driver is now deinitialized on headset adapter driver remove so
telephony_exit should not be called on plugin exit anymore.

13 years agoRelease 4.81
Marcel Holtmann [Tue, 30 Nov 2010 14:55:09 +0000 (15:55 +0100)]
Release 4.81

13 years agoFix not canceling pending calls on maemo6 telephony driver exit
Luiz Augusto von Dentz [Tue, 30 Nov 2010 12:38:29 +0000 (14:38 +0200)]
Fix not canceling pending calls on maemo6 telephony driver exit

This happens when the driver exit is called quickly after init due to
adapter power changes.

13 years agoUse specific members in D-Bus match rules on telephony maemo6 driver
Luiz Augusto von Dentz [Tue, 30 Nov 2010 12:26:14 +0000 (14:26 +0200)]
Use specific members in D-Bus match rules on telephony maemo6 driver

This reduces the amount of unnecessary wake-ups without breaking anything

13 years agoFix interface name of modem states on maemo6 telephony driver
Luiz Augusto von Dentz [Tue, 30 Nov 2010 12:26:13 +0000 (14:26 +0200)]
Fix interface name of modem states on maemo6 telephony driver

13 years agoInitialize adapter services list
Daniel Orstadius [Tue, 30 Nov 2010 11:27:57 +0000 (13:27 +0200)]
Initialize adapter services list

In case service records have been added to bluetoothd before a new
adapter is registered, the records which are shared by all adapters
(indicated by having the address set to BDADDR_ANY) need to be added
to the services list of the new adapter. This patch adds a function
for this on adapter initialization.

The issue could be reproduced by running bluetoothd and obexd on a
PC and briefly removing the BT dongle. The service records from
obexd would not be present in the adapter's local list (which is
used to set the class of device).

13 years agoEmit Connect signal for LE capable devices
Sheldon Demario [Mon, 29 Nov 2010 18:36:29 +0000 (13:36 -0500)]
Emit Connect signal for LE capable devices

13 years agoAttrib server should truncate attribute value to pdu length
Sheldon Demario [Mon, 29 Nov 2010 12:44:22 +0000 (07:44 -0500)]
Attrib server should truncate attribute value to pdu length

When the size of attribute value is greater than pdu size, it should be
truncated to the pdu length - 2