Bluetooth: Set authentication requirements if not available
authorMarcel Holtmann <marcel@holtmann.org>
Fri, 6 Feb 2009 18:45:36 +0000 (19:45 +0100)
committerMarcel Holtmann <marcel@holtmann.org>
Fri, 27 Feb 2009 05:14:40 +0000 (06:14 +0100)
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>
net/bluetooth/hci_conn.c

index 7fc4c048b57b1ab79c472b82f480834b080c1387..dcdaa4be7847cfe0230990d2c74daa0fe7ab9b8b 100644 (file)
@@ -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;