Return-Path: From: Szymon Janc To: linux-bluetooth@vger.kernel.org Subject: Re: [PATCH 1/6] android/gatt: Fix client signed write on encrypted link Date: Fri, 27 Feb 2015 22:33:18 +0100 Message-ID: <5319647.NCCsdqgCcL@leonov> In-Reply-To: <1425049274-11552-1-git-send-email-szymon.janc@tieto.com> References: <1425049274-11552-1-git-send-email-szymon.janc@tieto.com> MIME-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Sender: linux-bluetooth-owner@vger.kernel.org List-ID: 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