Linux bluetooth development
 help / color / mirror / Atom feed
* [PATCH 1/6] android/gatt: Fix client signed write on encrypted link
@ 2015-02-27 15:01 Szymon Janc
  2015-02-27 15:01 ` [PATCH 2/6] android/bluetooth: Store if CSRK is authenticated Szymon Janc
                   ` (5 more replies)
  0 siblings, 6 replies; 10+ messages in thread
From: Szymon Janc @ 2015-02-27 15:01 UTC (permalink / raw)
  To: linux-bluetooth; +Cc: Szymon Janc

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);
-- 
1.9.3


^ permalink raw reply related	[flat|nested] 10+ messages in thread

end of thread, other threads:[~2015-02-27 21:33 UTC | newest]

Thread overview: 10+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2015-02-27 15:01 [PATCH 1/6] android/gatt: Fix client signed write on encrypted link Szymon Janc
2015-02-27 15:01 ` [PATCH 2/6] android/bluetooth: Store if CSRK is authenticated Szymon Janc
2015-02-27 15:01 ` [PATCH 3/6] android/bluetooth: Add support for CSRK authetication level Szymon Janc
2015-02-27 15:01 ` [PATCH 4/6] android/gatt: Fix check if CSRK is authenticated Szymon Janc
2015-02-27 15:01 ` [PATCH 5/6] android/gatt: Fix error message in signed_write_cmd Szymon Janc
2015-02-27 15:01 ` [PATCH 6/6] shared/att: Fix signed write without transparent signing Szymon Janc
2015-02-27 15:21   ` Michael Janssen
2015-02-27 15:27     ` Szymon Janc
2015-02-27 16:02       ` Luiz Augusto von Dentz
2015-02-27 21:33 ` [PATCH 1/6] android/gatt: Fix client signed write on encrypted link Szymon Janc

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox