summaryrefslogtreecommitdiffstats
path: root/net/bluetooth
diff options
context:
space:
mode:
authorMarcel Holtmann <marcel@holtmann.org>2009-02-06 19:45:36 +0100
committerMarcel Holtmann <marcel@holtmann.org>2009-02-27 06:14:40 +0100
commit657e17b03c80bec817975984d221bef716f83558 (patch)
treea307dbea02929a8275c8c6fac5e5e95052632406 /net/bluetooth
parentBluetooth: Use general bonding whenever possible (diff)
downloadlinux-657e17b03c80bec817975984d221bef716f83558.tar.xz
linux-657e17b03c80bec817975984d221bef716f83558.zip
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;