summaryrefslogtreecommitdiff
path: root/net/bluetooth
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-02-06 21:45:36 +0300
committerMarcel Holtmann <marcel@holtmann.org>2009-02-27 08:14:40 +0300
commit657e17b03c80bec817975984d221bef716f83558 (patch)
treea307dbea02929a8275c8c6fac5e5e95052632406 /net/bluetooth
parent0684e5f9fb9e3f7e168ab831dfca693bcb44805b (diff)
downloadlinux-657e17b03c80bec817975984d221bef716f83558.tar.xz
Bluetooth: Set authentication requirements if not available
When no authentication requirements are selected, but an outgoing or incoming connection has requested any kind of security enforcement, then set these authentication requirements. This ensures that the userspace always gets informed about the authentication requirements (if available). Only when no security enforcement has happened, the kernel will signal invalid requirements. Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Diffstat (limited to 'net/bluetooth')
-rw-r--r--net/bluetooth/hci_conn.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/net/bluetooth/hci_conn.c b/net/bluetooth/hci_conn.c
index 7fc4c048b57b..dcdaa4be7847 100644
--- a/net/bluetooth/hci_conn.c
+++ b/net/bluetooth/hci_conn.c
@@ -416,6 +416,9 @@ int hci_conn_security(struct hci_conn *conn, __u8 sec_level, __u8 auth_type)
{
BT_DBG("conn %p", conn);
+ if (conn->auth_type == 0xff)
+ conn->auth_type = auth_type;
+
if (sec_level == BT_SECURITY_SDP)
return 1;