Re: [PATCH 1/6] android/gatt: Fix client signed write on encrypted link

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Friday 27 of February 2015 16:01:09 Szymon Janc wrote:
> As defined in Core Specification 4.2:
> "If a connection is already encrypted with LE security mode 1, level 2
> or level 3 as defined in [Vol 3] Part C, Section 10.2 then, a Write
> Without Response as defined in Section 4.9.1 shall be used instead of
> a Signed Write Without Response."
> ---
>  android/gatt.c | 16 ++++++++--------
>  1 file changed, 8 insertions(+), 8 deletions(-)
> 
> diff --git a/android/gatt.c b/android/gatt.c
> index 53b1983..9e348d7 100644
> --- a/android/gatt.c
> +++ b/android/gatt.c
> @@ -3358,14 +3358,14 @@ static void handle_client_write_characteristic(const
> void *buf, uint16_t len) goto failed;
>  		}
> 
> -		if (get_sec_level(conn->device) != BT_SECURITY_LOW) {
> -			error("gatt: Cannot write signed on encrypted link");
> -			status = HAL_STATUS_FAILED;
> -			goto failed;
> -		}
> -
> -		res = signed_write_cmd(conn->device, ch->ch.value_handle,
> -							cmd->value, cmd->len);
> +		if (get_sec_level(conn->device) > BT_SECURITY_LOW)
> +			res = gatt_write_cmd(conn->device->attrib,
> +						ch->ch.value_handle, cmd->value,
> +						cmd->len, NULL, NULL);
> +		else
> +			res = signed_write_cmd(conn->device,
> +						ch->ch.value_handle, cmd->value,
> +						cmd->len);
>  		break;
>  	default:
>  		error("gatt: Write type %d unsupported", cmd->write_type);

Patches 1-5 are applied.

-- 
BR
Szymon Janc
--
To unsubscribe from this list: send the line "unsubscribe linux-bluetooth" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html




[Index of Archives]     [Bluez Devel]     [Linux Wireless Networking]     [Linux Wireless Personal Area Networking]     [Linux ATH6KL]     [Linux USB Devel]     [Linux Media Drivers]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [Big List of Linux Books]

  Powered by Linux