Hi,
Commit message is improved w.r.t. to previous proposal submission.
BR,
Dmitriy
Hi Luiz,
On Mon, Aug 22, 2011 at 3:04 PM, Luiz Augusto von Dentz
<[email protected]> wrote:
> Hi Dmitriy,
>
> On Mon, Aug 22, 2011 at 12:55 PM, Dmitriy Paliy <[email protected]> wrote:
>> 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.
>> ---
>> ?src/device.c | ? ?4 +++-
>> ?1 files changed, 3 insertions(+), 1 deletions(-)
>>
>> diff --git a/src/device.c b/src/device.c
>> index 9dd657c..f323bf8 100644
>> --- a/src/device.c
>> +++ b/src/device.c
>> @@ -855,8 +855,10 @@ void device_remove_connection(struct btd_device *device, DBusConnection *conn)
>> ? ? ? ? ? ? ? ?device->disconnects = g_slist_remove(device->disconnects, msg);
>> ? ? ? ?}
>>
>> - ? ? ? if (device_is_paired(device) && !device_is_bonded(device))
>> + ? ? ? if (device_is_paired(device) && !device_is_bonded(device)) {
>> + ? ? ? ? ? ? ? btd_adapter_remove_bonding(device->adapter, &device->bdaddr);
>> ? ? ? ? ? ? ? ?device_set_paired(device, FALSE);
>> + ? ? ? }
>
> How about move btd_adapter_remove_bonding to device_set_paired e.g. if
> (!value) btd_adapter_remove_bonding?
Since btd_adapter_remove_bonding is used only together with
device_set_paired(device, FALSE), it makes sense code-wise. However,
downside is that one may start thinking that device_set_paired(device,
TRUE) creates bonding, which is not so. Therefore, it looks a bit
questionable.
I will submit new proposal.
Dmitriy
Hi Dmitriy,
On Mon, Aug 22, 2011 at 12:55 PM, Dmitriy Paliy <[email protected]> wrote:
> 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.
> ---
> ?src/device.c | ? ?4 +++-
> ?1 files changed, 3 insertions(+), 1 deletions(-)
>
> diff --git a/src/device.c b/src/device.c
> index 9dd657c..f323bf8 100644
> --- a/src/device.c
> +++ b/src/device.c
> @@ -855,8 +855,10 @@ void device_remove_connection(struct btd_device *device, DBusConnection *conn)
> ? ? ? ? ? ? ? ?device->disconnects = g_slist_remove(device->disconnects, msg);
> ? ? ? ?}
>
> - ? ? ? if (device_is_paired(device) && !device_is_bonded(device))
> + ? ? ? if (device_is_paired(device) && !device_is_bonded(device)) {
> + ? ? ? ? ? ? ? btd_adapter_remove_bonding(device->adapter, &device->bdaddr);
> ? ? ? ? ? ? ? ?device_set_paired(device, FALSE);
> + ? ? ? }
How about move btd_adapter_remove_bonding to device_set_paired e.g. if
(!value) btd_adapter_remove_bonding?
--
Luiz Augusto von Dentz
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.
---
src/device.c | 4 +++-
1 files changed, 3 insertions(+), 1 deletions(-)
diff --git a/src/device.c b/src/device.c
index 9dd657c..f323bf8 100644
--- a/src/device.c
+++ b/src/device.c
@@ -855,8 +855,10 @@ void device_remove_connection(struct btd_device *device, DBusConnection *conn)
device->disconnects = g_slist_remove(device->disconnects, msg);
}
- if (device_is_paired(device) && !device_is_bonded(device))
+ if (device_is_paired(device) && !device_is_bonded(device)) {
+ btd_adapter_remove_bonding(device->adapter, &device->bdaddr);
device_set_paired(device, FALSE);
+ }
emit_property_changed(conn, device->path,
DEVICE_INTERFACE, "Connected",
--
1.7.4.1